在标准的“宣传册”网站中,我有一个子系统,其中私人数据在一系列页面中来回传递。该网站现已完成,现在无需HTTPS。
有人可以指出我需要做的步骤列表,在网站的安全部分实施HTTPS吗?
答案 0 :(得分:17)
作为程序员,您唯一需要做的就是检查用户实际上是否使用HTTPS:
if($_SERVER['SERVER_PORT'] !== 443 &&
(empty($_SERVER['HTTPS']) || $_SERVER['HTTPS'] === 'off')) {
header('Location: https://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']);
exit;
}
然后(拥有您的系统管理员)订单并在Web服务器上安装SSL证书。
答案 1 :(得分:7)
网站必须自行配置,此时与php本身无关。
在您的本地PC上,我认为您使用Apache作为Web服务器。 所以对于Apache你需要安装一个证书,Apache需要监听https端口(默认为443)。
您可以查看此链接,它可以帮助您:http://www.onlamp.com/pub/a/onlamp/2008/03/04/step-by-step-configuring-ssl-under-apache.html
此外,在网站的所有部分中,您需要在网址中使用https协议,而不是http。 例如。 https://example.com
答案 2 :(得分:5)
不涉及PHP代码更改。 HTTPS表示浏览器与Web服务器之间的通信将被加密的数据。浏览器已经设置为HTTPS,您所要做的就是配置您的Web服务器。最有可能的是,您可以从托管控制面板本身进行全部更改。
如果要强制使用HTTPS,可以使用一行mod_rewrite代码
答案 3 :(得分:1)
试试这个:
<?php
if ($_SERVER['HTTPS'] != 'on') {
echo '<script type="text/javascript">window.location = "https://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'] . '";</script>';
}
?>