2012-02-10 31 views
0

我有一個網站,有一個簡單的登錄表單。php,如何以安全的方式發送表單數據?

形式員額login.php

login.php我檢查用戶名和密碼,並重定向到一個特定的頁面。

直到我遇到安全問題時,所有情況都很好。從PCI符合我得到這個:

所有包含敏感信息的Web應用程序通信應使用SSL/TLS(HTTPS)傳輸。如果嘗試使用HTTP重定向到HTTPS以嘗試修復此問題,請確保此類重定向發生在系統的服務器端(例如,通過使用HTTP「位置」標題元素),以及重定向不依賴於客戶端(瀏覽器)端。

然後,我走進login.php,並在頂部添加以下代碼:

if (!isset($_SERVER['HTTPS']) || !$_SERVER['HTTPS']) { 
    header("Location: https://" . $_SERVER["SERVER_NAME"] . $_SERVER["REQUEST_URI"]); 
} 

如果我嘗試這種變化的登錄過程似乎經過精細後登錄,但林不知道,這個解決問題。

筆記:
我不能設置的網站是:https://www.website.com,因爲這將引發一個安全警告。我確實有一個有效的證書。

任何想法如何解決這個問題?

感謝

編輯:

的安全警告是關於訪問不安全的網站,紅色矩形問我,如果我敢肯定,我希望去這個網站,我可以將其添加到例外列表

,如果我下米的證書添加例外列表中,該警報只發生一次

+2

什麼是安全警告? – Cez 2012-02-10 21:43:38

+0

安全警告說什麼? – SLaks 2012-02-10 21:44:27

+0

我編輯帖子 – Patrioticcow 2012-02-10 21:46:55

回答

0

您的證書可能是有效的,但它不是由瀏覽器是安全的認可。你需要找出瀏覽器爲什麼說它是無效的。通常它是由使用瀏覽器無法識別的根證書的公司生成的。您可能需要切換證書以擺脫「紅色矩形」。

+0

我明白你在說什麼,但是如何不使用https爲主index.php?我試圖遠離一些搜索引擎優化的目的 – Patrioticcow 2012-02-10 21:54:33

+0

你可以這樣做,但我不知道你的合規部門會對此感覺如何。 ;)即使你沒有在你的索引中使用它,當你希望他們登錄的時候,你的用戶仍然會面對那個「錯誤」頁面。我的建議是,如果您認爲該證書確實可行,請與您的證書提供商討論重新發放問題。如果它是一家自己發行的證書公司或rinky-dink公司,我會爲Verisign,Thawte等業界公認的證書而跳槽 – AlexC 2012-02-10 21:59:16

0

你確定你的頁面沒有包含通過http傳輸的東西,比如jpg或嵌入對象。您可以告訴瀏覽器使用https作爲頁面,但如果頁面調用jpgs或其他腳本或其他東西,則可以使用http調用這些頁面。瀏覽器然後認爲該頁面有安全和不安全的對象,這可能是一個問題。