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