2011-07-05 30 views
18

我試圖檢測當前頁面是否通過SSL傳遞,以決定是否包含某些不安全的外部資源。我目前的方法涉及檢查request.url是否以'https'開頭。這是完成這個最簡單的方法嗎?有沒有更好的辦法?謝謝!確定當前頁面是否在Rails中使用SSL

回答

34

在控制器或視圖:

request.ssl? 
+1

在意見中也可以(例如,以示對HTTPS請求的SSL徽章) –

+0

其實我覺得檢查該協議具有的「https」將是一個很大比這更安全。標題可以在運輸過程中操縱。你正在用request.ssl檢查嗎?是@env ['HTTPS'] =='on'|| @env ['HTTP_X_FORWARDED_PROTO'] =='https' 鑑於作爲請求和協議的完整路徑不能被欺騙。 http://apidock.com/rails/ActionController/Request/ssl%3F – saneshark

+1

我錯了,整個標頭是加密的,不能在傳輸過程中被篡改。 – saneshark

相關問題