2011-09-21 57 views
1

我遇到了PCI合規問題。基本上他們希望我在每個存在password字段的頁面上添加https://。這有點奇怪。PHP,PCI合規問題:如何?

我在index.php形式如下:

<form method=post action="login.php" id="login"> 
<input type="text" size="16" maxlength="30" name="login" id="login_user" /> 
<input type="password" size=16 maxlength="20" name="pass" class="ifield" id="login_pass"/> 
<input name="msubmit" type="submit" value="Login" /> 
</form> 

我已經試過張貼到https:<form method=post action="https://test.com/login.php" id="login">但測試仍然失敗。

我該如何解決這個問題?

+7

這不僅僅是在代碼的某處添加https://前綴,這實際上就是*使用* SSL。你熟悉這個嗎?它是否設置在您的網站上? –

+1

您還必須通過SSL提供登錄頁面,而不僅僅是提交到ssl頁面。您最好通過SSL提供一切服務,而不是在常規和SSL頁面之間來回跳轉。 –

回答

4

首先,您需要將您的網絡服務器配置爲支持SSL。您需要購買SSL證書並配置您的Web服務器以回答端口80和端口443上的請求。

完成這些更改後,您將能夠將表單發佈到您的SSL版本通過您上面張貼的網址訪問網站。

如果合規性規則要求它,您可能還需要將表單本身加載到網站的SSL版本下。在這種情況下,您可以更新指向表單的所有鏈接以指向「https://」版本,或者修改您的網絡服務器規則以將表單的所有請求轉發到「https://」版本。

+0

謝謝,我會檢查一下 – Patrioticcow

-2

從客觀安全(而不是PCI)的角度來看,填寫表單並沒有什麼問題,然後通過SSL將其發佈到https地址。空白表單最初顯示的頁面是否爲安全頁面是無關緊要的,儘管許多人認爲是其他方式(錯誤)。在安全頁面上呈現您的表單就是營銷 - 當您這樣做時,人們會感覺更舒適。通過https提交是實際的安全部分。

許多PCI合規性要求是假設的,或者關於營銷和安全感,而不是實際的安全性。如果您的掃描器僅僅因爲表單在非SSL頁面上顯示而標記了您,那麼您可以合法地對該發現提出異議,因爲這沒有安全影響。如果有問題的表格即使正確訪問,也不允許訪問服務器管理或私人信息,那麼您也可以對發現進行合法爭議。但是,如果登錄過程允許訪問個人信息或服務器管理,則有多種原因可確保通過安全端口提交。

+3

我強烈反對。如果登錄表單是通過HTTP提供的,那麼中間人攻擊很可能會將HTML更改爲指向其他地方(例如,在咖啡店的無線上)。如果登錄表單通過HTTPS提供,則實現起來會更具挑戰性。 –