gpt4 book ai didi

javascript - 无需 javascript 的安全用户身份验证

转载 作者:行者123 更新时间:2023-11-29 22:25:09 26 4
gpt4 key购买 nike

我认为 Javascript 存在安全风险,因此我希望允许我网站的用户无需启用 Javascript 即可登录。

这给我带来了另一个问题。如果没有客户端脚本,我不知道如何在客户端散列用户密码以避免明文密码传输。“纯 HTML+CSS”如何让我对密码进行哈希处理。

目前在我看来,唯一安全的选择(没有 Javascript)是拥有一个安全(加密)的 ssl/https 连接并以明文形式发送密码?

无论如何:是否有某种方法可以散列用户密码以避免以明文形式通过互联网发送。?这是否可能仅使用客户端脚本?

[更新]我知道 SSL 可能是最接近理想的方式。 (如评论中所述)无论如何。当明文用户名和明文密码绝不会通过不安全的 channel 发送时,这已经是一种安全改进。散列也可以被嗅探,并且没有安全(即加密)可以存在。但是嗅探器在任何时候都无法获得用户名和密码的未经处理的版本。 => 优点是用户不会公开他们的用户名/密码组合(可能在其他地方使用)。

毕竟似乎没有“禁用脚本”-(香料)散列某些输入字段值的方式。所以我认为我的问题无法解决。

最佳答案

首先,如果您使用的是 SSL,则密码不会以纯文本形式发送。除了初始握手之外的所有内容都是加密的,并且非常安全。想想看,这是全世界银行、军队、政府每天都依赖的安全保障。我并不是说你应该相信它只是因为其他人都相信它 (argument from authority) - 我只是说如果它有问题,我们会立即听到。

其次,您永远不会通过客户端散列真正获得任何好处。您要阻止的基本攻击是 man-in-the-middle (MITM)攻击。无论是有人窃听连接、嗅探重放攻击的密码,还是主动劫持 session (即假装是连接两端的服务器和客户端),您都无法通过额外的安全措施真正阻止它。

如果您假设攻击者可以突破您的 SSL 加密,那么任何其他依赖于客户端软件正在执行的操作或服务器正在发送的操作的 token 都可能受到威胁。如果它是一些客户端散列函数,那么攻击者可以通过检查服务器发送的网页来了解该函数是什么,或者只是嗅探散列值并在攻击者与服务器通信时使用它来冒充客户端。如果服务器向下发送一些安全 key 或 token 供客户端使用和响应,攻击者就可以拦截它。

我想你要找的是 two-factor authentication .

关于javascript - 无需 javascript 的安全用户身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9953917/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com