2012-02-10 10 views
0

私は単純なログインフォームを持つウェブサイトを持っています。PHP、安全にフォームデータを送信するには?

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サイトへのアクセスについてです、私を求めて赤い長方形イムは確かに私はこのウェブサイトに行き、私は例外リスト

に追加することができますしたい場合

iがmの下で例外リストを証明書を追加する場合、このアラートは一度だけ

+2

セキュリティ警告とは何ですか? – Cez

+0

セキュリティに関する警告は何を表していますか? – SLaks

+0

私は投稿を編集しました – Patrioticcow

答えて

0

をたまたまあなたの証明書が有効かもしれないが、それは安全であると、ブラウザが認識していません。あなたはなぜブラウザがそれが正当でないと言っているのかを知る必要があります。通常は、ブラウザが認識できないルート証明書を使用している会社によって生成されたものです。 「赤い長方形」を取り除くために証明書を切り替える必要があるかもしれません。

+0

を見ることができます。あなたが言っていることを理解していますが、メインのindex.phpにhttpsを使用しないのはどうでしょうか?私はいくつかのSEOの目的のためにそれから離れようとしています – Patrioticcow

+0

あなたはそれを行うことができますが、コンプライアンス部門がそれについてどのように感じるか分かりません。 ;)あなたがあなたのインデックスにそれを使用しない場合でも、あなたがそれらをログインさせたい瞬間に、あなたのユーザーはまだその "エラー"ページに直面するでしょう。私のアドバイスは、もしあなたがこの証明書が本当にうまくいくはずだと感じたら、あなたの証明書提供者に再発行について話してください。それが自己発行のcertまたはrinky-dink社の場合、私はVerisign、Thawteなどの業界で受け入れられている証明書のために春を迎えます – AlexC

0

あなたのページには、jpgや埋め込みオブジェクトのようなhttpトランスポート経由のものは含まれていませんか?あなたはページにhttpsを使用するようにブラウザに指示することができますが、ページがjpgやその他のスクリプトなどを呼び出すと、httpでそれらを呼び出すことができます。ブラウザは、そのページに安全で安全でないオブジェクトがあり、それが問題になると考えています。

関連する問題