簡體   English   中英

防止機器人刮擦Coffescript文件的路由錯誤

[英]Preventing Routing Errors from Bots Scraping Coffescript Files

在我的咖啡腳本文件中,我有這個:

$('#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文件中解決這個問題,我想知道為什么它不起作用。

注意:此解決方案不起作用。 我發布了它,以聽取有關它為什么不起作用的反饋。

如果你把它放在routes.rb中......

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

轉到http:// localhost:3000 / map /%22 + $(this).data(%22user_id%22)仍會產生此路由錯誤:

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

我猜測路由器沒有像瀏覽器那樣讀取%22(“)。有沒有辦法在路由器中進行補償?

如果我在控制台中運行“rake routes”,它會顯示正在讀取的路由如下:

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

通過將%轉換為其ASCII表示%25,Rails可能是雙重編碼。 可以預防嗎?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM