javascript - 有没有一种安全的方法可以在客户端跨页面存储密码?

标签 javascript ajax security squarespace web-storage

我有一个表单,可以通过 AJAX 验证来自外部 php 脚本和数据库的登录凭据。我正在尝试使用密码保护 Squarespace 网站的页面。

我想知道是否有一种方法可以安全地存储用户使用登录表单登录时返回的某种 token ,该 token 可以在用户尝试访问的每个页面上进行检查并重定向它们或允许保留在基于他们是否成功登录的页面。

我研究过使用 cookie、网络存储/本地存储、window.name 以及其他人使用过的其他几种方法,但实际上没有一个看起来安全,而且我无法使用 php。

有没有安全的方法来做到这一点?

最佳答案

嗯,这取决于您所说的“安全”是什么意思。例如,默认情况下,PHP 的内置 session 功能将使用查询字符串或 cookie。 ASP.NET 的 Session 功能也是如此。这些在数百万个网站上使用,我想说它是安全的。问题是,你在 cookie 中存储了什么?如果您将“IsLoggedIn”之类的 cookie 设置为 1,则这是不安全的。但是,如果您像 PHP/ASP.NET 那样存储一些随机字符串(最好是加密安全的随机字符串),该字符串在服务器端验证到已登录的随机字符串列表中,那么您就可以了。

但这引出了一个问题,为什么不直接使用 PHP session 来存储这些信息?请参阅http://php.net/manual/en/features.sessions.php然后,您可以将 IsLoggedIn 存储在 session 对象中,该对象存储在服务器端,而不是客户端,这样您就安全了。

关于javascript - 有没有一种安全的方法可以在客户端跨页面存储密码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29706898/

相关文章:

asp.net - 为 MVC3 应用程序中的某些操作启用和要求 SSL

javascript - 如何调试鼠标移动

javascript - 数组中的第一个唯一编号。需要优雅的解决方案

javascript - 您如何捕获jQuery插件内部引发的错误?

Javascript 回调函数不启动

javascript - Express res.render 重定向后不工作

java - 使用 Maven 的安全性如何?

javascript - 带诺克的 Mocha 茶 : why am I getting timeout errors when doing cleanup in 'after()' and 'afterEach()' ?

javascript代码未按顺序执行

php - 使用 str_replace 是否足以防止 SQL 注入(inject)攻击?