【问题标题】:What is https and SSL? How do they work? How can they be used in PHP?什么是 https 和 SSL?它们是如何工作的?它们如何在 PHP 中使用?
【发布时间】:2010-11-14 23:08:40
【问题描述】:

我知道一般定义,但我需要更多关于如何实现它们的详细信息以及具体的 PHP,以及我从它们中获得的具体特性是什么?

【问题讨论】:

    标签: php ssl https implementation security


    【解决方案1】:

    一些网络服务器被配置为镜像整个站点,因此您可以通过 http 或 https 获取每个页面,这取决于您喜欢什么,或者网络浏览器如何发送它们。 https 是安全的,但速度有点慢,而且会给您的硬件带来更大的压力。

    因此您可以像往常一样实施您的网站和购物,但决定将购物车、结账、付款等所有内容都放在 https 下。为此,购物车的所有链接都是绝对链接,并以https:// 而不是http:// 为前缀。现在,如果人们点击购物车图标,他们会被转移到安全版本,并且因为从那里开始的所有链接都是相对的,所以他们会停留在那里。

    但是!他们可能会手动将 https 替换为 http,或者使用恶意链接继续使用未加密的版本等。

    在这种情况下,您可能需要检查您的脚本是否通过 https (_SERVER["SERVER_PROTOCOL"], afaik) 调用,如果不是,则拒绝执行(良好做法)。或发出到安全站点的重定向。

    附带说明:https 不再使用 ssl 排他性,tls(ssl 的继任者,请参阅rfc2818)更现代

    经验法则:用户应该可以选择是否在非关键环境中使用 http 或 https,但在您网站的关键部分(登录/购物车/支付/.. .) 以防止恶意攻击。

    【讨论】:

    • 非常有趣!您能否提供有关 2 点的更多信息:1- 他们如何通过调用“http://example.com/pay.php”来调用我的“https://example.com/pay.php”?如果我的文件“pay.php”位于 https 文件夹中,他们不应该得到类似“找不到页面”的东西吗? 2-从开发人员方面来说,我真的不需要担心 SSL 或 TLS 如何在服务器上配置,因为我对它们无能为力,是吗?基本上在服务器上会有 2 个文件夹设置为“http”和“https”,我可以从那里选择要做什么,对吧?
    • 如果有 2 个不同的文件夹,则该站点没有被镜像,并且上述内容不会真正影响您。我在说的是某些服务器的配置方式 http 和 https 都指向同一个文件夹。是的,在开发方面,如果有 SSL 或 TLS 并没有什么区别。
    【解决方案2】:

    SSL 代表“安全套接字层”,它是一种加密 HTTP 通信(除其他外)的方法。它对网络浏览器和服务器之间的流量进行加密,从而可以发送安全数据而不必担心被窃听。

    SSL 是一种网络服务器级别的技术,与 PHP 无关。您可以使用 SSL 启用任何 Web 服务器,无论它是否安装了 PHP,并且您无需编写任何特殊的 PHP 代码即可使您的 PHP 页面显示在 SSL 上。

    互联网上有很多关于如何为您可能使用的网络服务器设置 SSL 的指南。这是一个广泛的主题。您可以为 Apache 使用 start here

    【讨论】:

      猜你喜欢
      • 2017-05-18
      • 2011-10-04
      • 1970-01-01
      • 2010-09-12
      • 2022-01-07
      相关资源
      最近更新 更多