2014-04-07 73 views
1

代碼環境警告我們可能存在跨站腳本問題。這裏escapeHTML不夠嗎?如何在軌道上修復此XSS警告

link_to(t(".button_text"), main_app.some_path(:id => (h(params[:id]))), :class => "btn") 
+0

你可能想轉換爲整數而不是? ':id => params [:id] .to_i' – house9

+0

id不是一個整數,不幸的是它是某種導引 – usbsnowcrash

+0

您使用的是什麼版本的導軌?幾年前,rails html_escape方法中存在unicode轉義漏洞。從來沒有使用過Code Climate,但是可以選擇它嗎? https://groups.google.com/forum/#!topic/rubyonrails-security/Vr_7WSOrEZU – photoionized

回答

1

如何使用從控制器獲取的對象並將其傳遞給路徑助手?

def index 
    @some_object = SomeObject.find(params[:id]) 
    [...] 
end 

然後在你的視圖中使用這個對象來建立路由嗎?

link_to(t(".button_text"), main_app.some_path(@some_object), :class => "btn") 
+0

這似乎是一個非常奇怪的方式來解決它。爲了將查詢字符串中的內容放入下一頁的鏈接中,創建一個完整對象和一個查找方法。 – usbsnowcrash