我有一个表单,通过AJAX验证来自外部PHP脚本和数据库的登录凭据。我正在尝试密码保护Squarespace网站的页面。
我想知道是否有办法安全地存储当用户使用登录表单登录时返回的某种令牌,该登录表单可以在用户尝试访问的每个页面上进行检查并重定向或允许留在页面基于他们是否成功登录。
我已经研究过使用cookies,网络存储/本地存储,window.name以及其他人使用的其他几种方法,但实际上没有一种方法看起来很安全,而且我无法使用php。
有没有一种安全的方法可以做到这一点?
答案 0 :(得分:1)
嗯,这取决于你的意思"安全。"默认情况下,例如,PHP内置的会话功能将使用查询字符串或cookie。 ASP.NET的Session功能也是如此。这些用于数百万个网站,我说这是安全的。问题是,你在cookie中存储了什么?如果您设置一个像" IsLoggedIn"值为1时,表示不安全。但是,如果您喜欢PHP / ASP.NET,并将一些随机字符串(理想情况下是加密安全的随机字符串)存储在已登录的随机字符串列表中,那么您就可以了。
但这引出了一个问题,为什么你不仅仅使用PHP会话存储这些信息?请参阅http://php.net/manual/en/features.sessions.php然后您将IsLoggedIn存储在会话对象中,该会话对象存储在服务器端,而不是客户端,并且您是安全的。