我知道一般定义,但我需要更多关于如何实现它们的详细信息和具体的 PHP,以及我从它们中获得的功能到底是什么?
2 回答
SSL 代表“安全套接字层”,它是一种加密 HTTP 通信(除其他外)的方法。它对网络浏览器和服务器之间的流量进行加密,从而可以发送安全数据而不必担心被窃听。
SSL 是一种网络服务器级别的技术,与 PHP 无关。您可以使用 SSL 启用任何 Web 服务器,无论它是否具有 PHP,并且您不必编写任何特殊的 PHP 代码来使您的 PHP 页面显示在 SSL 上。
互联网上有很多很多关于如何为您可能使用的任何网络服务器设置 SSL 的指南。这是一个广泛的主题。你可以从这里开始Apache。
一些网络服务器被配置为镜像整个站点,因此您可以通过 http 或 https 获取每个页面,具体取决于您喜欢什么,或者网络浏览器如何发送它们。https 是安全的,但速度有点慢,而且会给您的硬件带来更大的压力。
所以你可以像往常一样实施你的网站和购物,但决定把从购物车到结账、付款等的所有东西都放在 https 下。为此,所有指向购物车的链接都是绝对链接,并https://
以http://
. 现在,如果人们点击购物车图标,他们会被转移到安全版本,并且因为从那里开始的所有链接都是相对的,所以他们会留在那里。
但!他们可能会手动将 https 替换为 http,或者使用恶意链接继续使用未加密的版本等。
在这种情况下,您可能需要检查您的脚本是否通过 https ( _SERVER["SERVER_PROTOCOL"]
, afaik) 调用,如果不是,则拒绝执行(良好做法)。或发出到安全站点的重定向。
附带说明:https 不再使用 ssl exclusivley,tls(ssl 的继任者,参见rfc2818)更现代
经验法则:用户应该可以选择在非关键环境中是否需要 http 或 https,但在站点的关键部分(登录/购物车/支付/...)上强制使用 https 以防止恶意攻击。