我是网站开发人员。我的网站有不同的模块,其中一个功能是处理信用卡。为了处理信用卡,我需要实现 SSL 层并处理页面。对于其余模块,SSL 是可选的。
现在我的观点是:
1.) http和https的文件位置是否相同?
2.) http和https的session可以共享吗?这是必需的,因为我需要用户登录信息和购物车商品信息。
最佳答案
前言:对于大多数小型网站开发人员,您不应该编写处理信用卡数据的模块,除非您准备花费大量(时间和金钱)实现 PCI 标准、审计、合规性等。您已收到警告!
现在回答您的问题:
假设您使用的是 Apache,您站点的 HTTP 和 HTTPS 版本在
httpd.conf
的VirtualHost
指令中声明。 (RHEL 将 SSL 配置放在conf.d
目录中。)现在,每个虚拟主机都可以单独配置其DocumentRoot
。因此,您可以选择是否希望它们相同。在 HTTP 和 HTTPS 之间共享 session 数据需要特别注意。特别是,您不能在站点的 HTTP 和 HTTPS 版本上使用相同的 session ID——因为一旦 session ID 通过未加密的 HTTP 传输,所有 session 安全性基本上都会丢失。
关于php - 在 PHP 网站上实现 SSL 的基础知识,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2498244/