我有什么代码才能使用HTTPS?

时间:2010-10-05 15:25:32

标签: php https

在标准的“宣传册”网站中,我有一个子系统,其中私人数据在一系列页面中来回传递。该网站现已完成,现在无需HTTPS。

有人可以指出我需要做的步骤列表,在网站的安全部分实施HTTPS吗?

4 个答案:

答案 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>';
  }
?>