javascript - 通过 https 安全地将密码从服务器传递到 javascript 变量中的浏览器吗?

标签 javascript security https

以下是我们的页面流程,

  1. 用户正在通过 https 访问登录页面。
  2. 用户输入密码并提交页面(POST 方法)。
  3. 现在不验证用户凭据,而是使用一些轮询页面 (https) 的服务器响应。
  4. 为了在投票页面上保留密码,密码通过 Javascript 变量从服务器传递到浏览器,在投票页面提交时,密码通过 POST 方法传递。现在服务器验证用户凭据。

问题: 通过 https 安全地将密码从服务器传递到浏览器中的 javascript 变量吗?

我的看法

  • 之间的整个交易 浏览器和服务器是通过 https 和 密码通过 POST 方法传递 - 所以密码是安全的。
  • 密码可通过“查看 页面源”,因为它被分配给 一个 javascript 变量 - 不安全,如果 浏览器插件可以访问 页面内容。但是如果浏览器插件 可以访问页面内容然后它 甚至可以在用户输入密码时访问密码,所以没有新的 此流程引入了威胁。

注意

  • 我知道他们是更好的处理方式 这个流程。但我有兴趣 我们现有的流程是否安全 或不。
  • 任何对安全提示的引用都将 乐于助人。

最佳答案

更大的问题是最佳实践 - 您只是不需要这样做,这是不好的做法。这表明对整体安全性的了解不足——最好不要以明文形式存储密码。如果您的程序员同事对这个概念没有给予适当的信任,那么我建议他们在安全方面可能还有其他方面松懈。

Security is a mindset ,不是最低公分母。这是关于尽可能少地提供妥协的机会,尽可能少地留出楔子空间。

不存储明文密码是你应该做的,而不是“在我们想要的时候存储它们,除非有人能证明它是坏的”。

This interest in "harmless failures" – cases where an adversary can cause an anomalous but not directly harmful outcome – is another hallmark of the security mindset. Not all "harmless failures" lead to big trouble, but it's surprising how often a clever adversary can pile up a stack of seemingly harmless failures into a dangerous tower of trouble. Harmless failures are bad hygiene. We try to stamp them out when we can.

http://freedom-to-tinker.com/blog/felten/security-mindset-and-harmless-failures

关于javascript - 通过 https 安全地将密码从服务器传递到 javascript 变量中的浏览器吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5364925/

相关文章:

javascript - 使用 CasperJS 将多个页面的结果保存到一个 JSON 文件中

javascript jquery : Overwriting variables - how? 性能更好?

javascript - 使用 https 时 Node.js 中的套接字挂起错误

Java 小程序未在 Java8/HTTPS 上加载

php - 以 0 开头的变量被 javascript 删除

security - 为什么堆栈不向上增长(出于安全考虑)?

security - 如何使用 ssl/security 设置 Mercurial

asp.net - 标准形式的 API Token 应该放在哪里? header 还是 URI?

ios - 在 NodeJs HTTPS 中使用 certificates.cer

javascript - 如何在 JavaScript 中将版本号作为整数传递