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