PHP, PCI遵从性问题:如何


PHP, PCI compliance problem: How to?

我有一个PCI合规性问题。基本上,他们希望我在password字段存在的每个页面上添加https://。这有点奇怪。

我的形式在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">,但测试它仍然失败。

我该如何解决这个问题?

首先,您需要配置您的web服务器以支持SSL。您将需要购买SSL证书并配置您的web服务器以响应端口80和端口443上的请求。

完成这些更改后,您将能够告诉您的表单通过您上面发布的URL发布到您网站的SSL版本。

如果遵从规则要求,您可能还需要使表单本身在站点的SSL版本下加载。在这种情况下,您可以更新所有链接到表单指向'https://'版本,或修改您的web服务器规则,以转发所有请求的表单到'https://'版本。

从客观安全性(而不是PCI)的角度来看,填写表单,然后通过SSL将其发送到https地址并没有什么问题。最初显示空白表单的页面是否是安全页面是无关紧要的,尽管许多人认为不是(错误的)。在一个安全的页面上展示表单是一种营销——当你这样做时,人们会感觉更舒服。通过https提交才是真正安全的部分。

许多pci遵从性需求是假设的,或者是关于市场营销和安全感知的,而不是实际的安全。如果您的扫描仪仅仅因为表单显示在非ssl页面上而标记您,那么您可以合法地对该发现提出异议,因为没有安全影响。如果有问题的表单,即使正确访问,也不允许访问服务器管理或私有信息,那么您也可以合法地对发现提出异议。但是,如果登录过程允许访问个人信息或服务器管理,则有多种理由确保通过安全端口提交。