在我的Rails 2應用程序中,我發現路由中存在一個安全錯誤。我正在使用Rails 2.3.8。下面是我的實現:Rails2路由問題
# routes.rb
map.connect 'sampleview', :controller => 'sample', :action => 'view'
對於一些條件,我就這樣產生http://example.com/sampleview?view_url=http://test.com?s=2&code=15
在這種情況下,我去了test.com(這test.com是我在表明另一個域網址我的應用程序),頁面被放置在iframe標籤中。
如果I幀的URL的問題是假設:
http://example.com/sampleview?view_url=http://www.google.com
的谷歌登陸頁面在我的應用程序放置在iframe標籤用。不是很好。
如果URL http://example.com/sampleview?view_url=http://www.google.com包含test.com以外的其他內容。我不得不向用戶提出這個信息。這裏這不是有效的URL。
如何修改我的routes.rb以支持這個或任何其他解決方案。請幫忙。
所以你說,我在控制器本身一樣實施的before_filter要查詢的網址名稱驗證URL的名字嗎?這是禮儀嗎? – palani
是的,請參閱我剛剛添加到我的答案中的示例。你可以適應正則表達式來匹配你的需要以及你定義'check_view_url'並定義了'before_filter'的位置。 –
感謝Adrien Coquio。這確實節省了我很多時間 – palani