我正在build立一个购物车网站,但是我在HTTPS和HTTP之间共享PHP会话时遇到了问题。
我的安全地址: https : //secure.domain.com我的常规地址: http : //domain.com
我在这里读了一些关于serverfault的文章,并且自己总结了一个解决scheme。 我想知道我的解决scheme是否安全实用。
我的解决scheme:1:在新build会话中,将PHP会话ID,用户IP和ID(随机生成6位数字,并保存到客户端计算机上)作为cookie保存到数据库2中。当客户端进入HTTPS页面时。 该页面检查数据库中是否有匹配的PHP会话ID的ID和IP地址。
如果你有更好的解决scheme,请分享
谢谢
这个解决scheme的问题是,通过HTTP发送的任何validation数据(包括会话ID和随机用户ID)都可能被窃取。 请参阅会话劫持 。
有两个可行的解决scheme:
使整个网站仅HTTPS。
允许HTTP,但在允许用户login前将用户redirect到HTTPS。然后使用任何会话cookie仅HTTPS,所以如果用户切换回HTTP,他们的会话数据将不会以明文forms发送。