我正在制作其他人将放入其网站的脚本。它专为PHP知识有限的人设计,所以他们所要做的就是包含()脚本并设置一些配置变量。这意味着头文件可能已经被发送,因此使用会话可能不起作用。我建议他们在自己的脚本中调用session_start,但我也想要一个后备选项。盐渍哈希通过URL传递,用于持久登录而不使用Cookie
我已经有一个隐藏的输入来处理表单,但我还需要链接来将查询字符串附加到它们的URI以识别会话。但是,如果散列仅基于密码+ salt,那么存在安全风险:登录的用户可以单击外部链接,外部站点的所有者可以在引用日志中看到带有散列的URI。他们所需要做的就是使用该散列并且他们将被登录。
因此,我想以时间敏感的方式对散列进行加盐,将会话限制为10分钟。我无法弄清楚如何做到这一点。当然,我可以使用time()来加以限制,但是如何根据散列来检查会话的年龄?
只是一个快速的时间暗示的建议,但它可能会包含IP地址的密码和盐吗?它不会创建一个依赖于时间的散列,但是读取日志并能够看到这些散列的人不太可能与合法用户处于相同的IP地址,从而使散列对他们基本无用。 – 2010-09-11 14:25:32
是的,但合法用户的IP可能会有所不同,因为大多数人不会从其ISP获得静态IP。 – Rafael 2010-09-11 17:18:49