【问题标题】:Is it safe to "send" passwords via javascript to another website通过javascript将密码“发送”到另一个网站是否安全
【发布时间】:2014-02-12 21:38:43
【问题描述】:

我使用的网络托管服务有一个用于登录域电子邮件的丑陋 UI,所以我只想在登录屏幕上放置一个薄界面。我的目标是让用户将他们的登录凭据提交到我的自定义表单上,然后将这些凭据转发到真正的登录页面并登录,而不向用户显示所有中间的喧嚣。

经过一些快速的谷歌搜索后,我找到了this,这看起来是一个很好的解决方案(已接受答案的 javascript 部分)。但是,我不确定这种方法是否安全?我只是从 html/css 表单中获取用户数据并将其转发到另一个 URL 上的表单。这有多安全?

【问题讨论】:

  • 如果使用 location.hash 或 postMessage(),则非常安全,但如果使用 GET 参数或 cookie,则非常不安全。
  • 你明白很多中间人攻击是这样工作的吧?他们模拟原始登录页面(如银行网站),然后将凭据传递给网站本身,并一路窃取它们。真是个坏主意。为什么不找一个更好的电子邮件提供商? gmail很便宜。
  • 哇,我没想到会这么快产生这么大的吸引力。 @ChrisLively 我正在为一家“假”公司(学校项目)制作一个网站,而我们使用的网络托管服务有一个非常丑陋的电子邮件界面。我打算用它作为学习javascript的练习,但从反应来看,这必须更安全地完成嗯......太糟糕了,因为这违背了薄界面的目的,只是为了掩盖网络托管的“丑陋”用户界面。哦,好的,谢谢。

标签: javascript security user-interface interface


【解决方案1】:

不,这不安全,请查看我关于散列敏感数据的文章 MD5 Hashing Javascript

我在本文中提到的同一个库可以做到cipher output

这可能有效

【讨论】:

  • 发送哈希如何让对方填写密码?您是否希望接收端有彩虹表或其他东西?这就是另一个问题:md5 非常弱,在平庸的机器上可以在几秒钟内被破解。
  • 对方会用同一个key对所有的用户名和密码进行hash并比较客户端发送的内容……阅读到文末
  • 真的很在意为什么是DV
  • @MinaGabriel AFAIK 提问者在服务器上没有权限,那么他如何进行密码哈希后端处理?
  • 他为什么要这样做......他会因为他试图做什么而失败我猜......将用户名和密码发送到另一个页面而不是验证有什么意义?跨度>
【解决方案2】:

老实说,没有 SSL,您无法通过 Javascript 安全地发送密码。 可能有,但如果没有 SSL,就没有真正的方法来验证 用户可以验证 发送密码是否安全。因此,为了安全发送,您必须购买 SSL 证书。

MD5 呢?

嗯,尽管 MD5 有一点帮助,但它是一个散列程序,使其不可逆转。

基本上总结一下,如果你没有 SSL,你就不安全。

获得了 SSL?

【讨论】:

  • 这不是真的。 php 无法将信息从一个选项卡发送到另一个选项卡,而无需通过网络发送,js 可以。
  • 这也不是真的。在混合中添加html并确保它可以
  • 我的建议:学习 JS。可以在 PHP 中完成的任何事情都可以在 JS 中完成,甚至更多(浏览器、Node.js)。所以要聪明,选择JS。 me.veekun.com/blog/2012/04/09/php-a-fractal-of-bad-design
  • 好的,我很好奇,php 如何在不使用互联网的情况下将运行时收集的用户输入从一个页面发送到另一个页面?
  • @jacktherap , c'm, npmjs.org/package/mongoose 作为 MongoDB 的 ORM(顺便说一句,你知道 MongoDB 是什么吗?如果不知道,MySQL 的 github.com/felixge/node-mysql,每个 PHP 开发人员都应该知道)跨度>
猜你喜欢
  • 2018-02-04
  • 1970-01-01
  • 2013-08-17
  • 2013-11-03
  • 2020-05-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-12-07
相关资源
最近更新 更多