2015-02-13 1 views
0

В моем файле сценария кофе, у меня есть это:Предотвращение маршрутизации ошибок от Bots выскабливание Coffescript Файлы

$('#map_of_users').html("<iframe src='/map/" + $(this).data('user_id') + "></iframe>" 

Боты ползет этот файл и думать, что есть URL, чтобы проверить, так что я в моем журнале я получаю маршрутизации ошибки, которая выглядит следующим образом

No route matches [GET] "/map/%22+$(this).data(%22user_id%22)" 

Я хочу, чтобы отслеживать маршрутизации ошибок, поэтому я не могу игнорировать все из них, но имеющих большого объема этих легкомысленных ошибок маршрутизации занимает много ненужного время.

Возможно, одно быстрое решение - добавить все файлы coffeescript в файл robots.txt или все в файле app/assets/javascripts. Что рекомендуется?

Примечание. Я также разместил неправильное решение, которое пытается исправить это в файле routes.rb, и мне интересно, почему он не работает.

+0

использовать 'robots.txt', чтобы сообщить ботам, чтобы они не переходили к определенным URL-адресам. см. http://stackoverflow.com/questions/18693766/rails-robots-txt-folders –

ответ

0

Примечание: Это решение не работает. Я разместил его, чтобы услышать отзывы о том, почему он не работает.

Если вы поместите это в routes.rb ...

match '/map/%22+$(this).data(%22user_id%22)', :to => 'shared#unauthorized', via: [:get, :post] 

Переход к http://localhost:3000/map/%22+ $ (это) .data (% 22user_id% 22) по-прежнему дает эту Routing Ошибка:

No route matches [GET] "/map/%22+$(this).data(%22user_id%22)" 

Я предполагаю, что маршрутизатор не читает% 22 так же, как браузер делает («). Есть ли способ компенсации в маршрутизаторе?

Если я запускаю« рейк-маршруты »в консоли, хау, что маршрут читается так:

GET|POST /map/%2522+$(this).data(%2522user_id%2522)(.:format) 

Rails может быть двойным кодированием пути преобразования% его представление ASCII% 25. Можно ли это предотвратить?

 Смежные вопросы

  • Нет связанных вопросов^_^