ページのセキュリティを確保するためのクリーンで簡単な方法は何ですか?
質問
機密情報を収集して送信するフォームがあり、そのフォームに安全でない (HTTPS 以外の) 手段でアクセスしないようにしたい場合、そのポリシーを適用するにはどうすればよいでしょうか?
解決
最も確実な解決策は、コードを SSL ドキュメント ルート内にのみ保持することだと思います。これにより、あなた (または将来の他の開発者) がフォームの非安全なバージョンに誤ってリンクすることがなくなります。HTTP と HTTPS の両方にフォームがある場合、間違ったフォームが誤って使用されても気付かない可能性があります。
それが不可能な場合は、少なくとも 2 つの予防策を講じます。Apache URL の書き換えを実行し、コードをチェックしてセッションが暗号化されていることを確認します (HTTP ヘッダーを確認してください)。
他のヒント
Apache を実行している場合は、 RewriteRule
あなたの中で .htaccess
, 、 そのようです:
RewriteCond %{HTTPS} "off"
RewriteRule /mypage.html https://example.com/mypage.html
これをみて: http://www.dotnetmonster.com/Uwe/Forum.aspx/asp-net/75369/Enforcing-https
編集:これは IIS の観点からの解決策を示していますが、これについては任意の Web サーバーを構成できるはずです。
IISでは?セキュリティ設定に移動し、「安全な接続が必要」をクリックします。あるいは、ページ読み込み時にサーバー変数を確認し、安全なページにリダイレクトすることもできます。
フォームをレンダリングするコード内のリクエストを確認し、SSL を使用していない場合は https URL へのリダイレクトを発行することをお勧めします。
Apache の書き換えルールを使用してユーザーをリダイレクトすることもできます。
あるいは、HTTP 経由でページを提供できず、HTTPS サイトのドキュメント ルートにのみ保持することもできます。