【发布时间】:2012-02-10 21:41:44
【问题描述】:
我的网站有一个简单的登录表单。
表格发到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,因为这会引发安全警告。不过我确实有有效的证书。
有什么想法可以解决这个问题吗?
谢谢
编辑:
安全警告是关于访问不安全的网站,红色矩形询问我是否确定要访问该网站,我可以将其添加到例外列表中
如果我在例外列表下添加证书,则此警报仅发生一次
【问题讨论】:
-
安全警告是什么??
-
安全警告说什么?
-
如果没有警告,这里就没有什么可做的了,页面上是否还有关于您有不安全信息的警告?还是 SSL 证书未正确签名?或者是其他东西。更多信息将帮助每个人为您提供帮助
-
@Patrioticcow 听起来像是关于“未知”或无效 SSL 证书的 IE 浏览器警告。谁提供证书,它对您请求的域有效?
-
在安全警告方面,您可能需要确保没有使用不安全的绝对 url 调用依赖文件(js、css、图像等)(即它们不应以'http')
标签: php forms https secure-coding