我开发了我的网站,检查用户是否已注册,并使用用户名创建会话变量。所有这些都存储为会话变量。如果我想保护我的页面(以便只有注册用户可以看到它们),我会检查是否设置了会话变量。 这样安全吗? 或者你能提供更安全的方法吗?
答案 0 :(得分:11)
通常,会话是服务器端,但如果我以某种方式获得会话ID,我就可以劫持它。
我建议至少存储IP,也可能是用户代理,如果不匹配,会话无效。
答案 1 :(得分:1)
基本上,您可以在Session中存储您想要的任何内容。唯一需要注意的是:
一般而言,提到的大多数安全问题(包括XSS攻击)都不是在Session中存储内容而是一般安全问题。在Session中存储用户标识 - 或其某些加密形式 - 通常是非常安全的。
最重要的是:如果您使用自己的算法为每个用户生成随机cookie代码,那么毫无疑问会比PHP的会话密钥生成算法有更多的安全漏洞(不是专家) ,ASP.NET,Rails,等等......
我可以找到一个更合适的Bruce Schneier引用,但是这个引用会做,“没有人可以复制RSA在经过20年的密码分析审查后提供的信心。”