0

簡単なログインフォームのあるウェブサイトを持っています。

フォームはに投稿します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回だけ発生します

4

2 に答える 2

0

証明書は有効である可能性がありますが、ブラウザによって安全であると認識されていません。ブラウザが無効だと言っている理由を調べる必要があります。通常、ブラウザが認識しないルート証明書を使用して会社によって生成されます。「赤い長方形」を取り除くには、証明書を切り替える必要がある場合があります。

于 2012-02-10T21:50:30.893 に答える
0

ページに、jpgや埋め込みオブジェクトなどのhttpトランスポート経由の何かが含まれていないことを確認してください。ページにhttpsを使用するようにブラウザに指示できますが、ページがjpgやその他のスクリプトなどを呼び出す場合は、httpを使用してそれらを呼び出すことができます。次にブラウザは、ページに安全なオブジェクトと安全でないオブジェクトがあると見なし、それが問題になる可能性があります。

于 2012-02-11T06:55:51.573 に答える