簡単なログインフォームのあるウェブサイトを持っています。
フォームはに投稿しますlogin.php
内部login.php
でユーザー名とパスワードを確認し、特定のページにリダイレクトします。
私がセキュリティに出くわすまで、すべては良いです。PCIコンプライアンスから私はこれを取得します:
機密情報を含むすべてのWebアプリケーション通信は、SSL / TLS(HTTPS)を使用して送信する必要があります。この検出結果を修正するためにHTTPからHTTPSへのリダイレクトを使用する場合は、そのようなリダイレクトがシステムのサーバー側で発生することを確認してください(たとえば、HTTPの「Location」ヘッダー要素を使用して)。リダイレクションは、クライアント(ブラウザ)側に依存しません。
次に、login.php
このコードを上部に追加しました。
if (!isset($_SERVER['HTTPS']) || !$_SERVER['HTTPS']) {
header("Location: https://" . $_SERVER["SERVER_NAME"] . $_SERVER["REQUEST_URI"]);
}
この変更後にログインしようとすると、問題が解決したかどうかわからない場合を除いて、ログインプロセスは正常に行われているようです。
注:
ウェブサイトを次のように設定することはできません:https://www.website.com
これはセキュリティ警告をスローするためです。しかし、私は有効な証明書を持っています。
この問題を解決するにはどうすればよいですか?
ありがとう
編集:
セキュリティ警告は、安全でないWebサイトへのアクセスに関するもので、赤い長方形は、このWebサイトにアクセスして、例外リストに追加できるかどうかを尋ねます。
例外リストの下に証明書を追加すると、このアラートは1回だけ発生します