【问题标题】:What do I have to code to use HTTPS?我必须编写什么代码才能使用 HTTPS?
【发布时间】:2011-04-21 09:03:57
【问题描述】:

在一个标准的“小册子”站点中,我有一个子系统,其中私人数据在一系列页面中来回传递。该站点已完成并可以在没有 HTTPS 的情况下运行。

谁能指出我需要执行的步骤列表,以便在网站的安全部分实施 HTTPS?

【问题讨论】:

标签: php https


【解决方案1】:

网站必须自己配置,这点与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

此外,在网站的所有部分中,您需要在 url 中使用 https 协议,而不是 http。 例如。 https://example.com

【讨论】:

  • 链接已断开
  • 你是对的。 :( 但仍然存在于google cache
  • 并找到了一个新的正确链接 - 也已在答案中修复。
【解决方案2】:

不涉及 PHP 代码更改。 HTTPS 意味着浏览器和网络服务器之间的通信将被加密的数据。浏览器已经设置了 HTTPS,您所要做的就是配置您的 Web 服务器。很可能您可以从主机控制面板本身进行全部更改。

如果你想强制使用 HTTPS,你可以使用一行 mod_rewrite 代码

【讨论】:

【解决方案3】:

作为程序员,您唯一需要做的就是检查用户是否确实使用了 HTTPS:

if($_SERVER['SERVER_PORT'] !== 443 &&
   (empty($_SERVER['HTTPS']) || $_SERVER['HTTPS'] === 'off')) {
  header('Location: https://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']);
  exit;
}

然后(让您的系统管理员)订购并在 Web 服务器上安装 SSL 证书。

【讨论】:

    【解决方案4】:

    试试这个:

    <?php
      if ($_SERVER['HTTPS'] != 'on') {
        echo '<script type="text/javascript">window.location = "https://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'] . '";</script>';
      }
    ?>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-09-27
      • 1970-01-01
      • 2011-06-18
      相关资源
      最近更新 更多