2011-07-05 8 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

関連する問題