tom*_*tom 1 c# asp.net encryption passwords query-string
是否可以在ac#asp.net站点的查询字符串中安全地包含密码.
我知道的一些假设和事情 -
我知道该网站可能容易受到跨站点脚本和重放攻击.我该如何减轻这些?
鉴于上述情况,我应该如何在查询字符串中包含密码?
请不要问我'为什么',我知道这不是一个好主意,但它是客户想要的.
您可以使用SSL连接安全地将密码发送到Web服务器.这会加密客户端/服务器之间的所有通信.
基本身份验证协议将用户/密码信息放在HTTP请求标头中.C#和许多其他Web服务器语言可以访问此信息,并使用它来验证请求.与SSL混合使用时非常安全.
如果以上都不可能,那么建议您为每个用户创建一个唯一的密钥.而不是发送他们的密码使用此密钥.优点是密钥存储在数据库中并可以删除.用户密码保持不变,但必须再次注册才能获得新密钥.如果有人可能滥用他们的密钥,这是很好的.
握手是客户端向服务器发出请求的地方,服务器发回一个随机生成的密钥.然后,客户端使用密钥从该密钥生成哈希,并将其发送回服务器.然后,服务器可以检查客户端是否知道正确的密码.相反,密码是秘密,客户端在请求中包含用户名详细信息.这可以在不发送密码的情况下进行身份验证.
如果以上都不是可能的选项,那么您可以尝试使用JavaScript加密密码,然后再通过打开的URL发送密码.我找到了一个开源版本的AES分组密码.该项目称为JSAES,支持128到256位加密.可能还有其他JS库可以执行相同的操作.
| 归档时间: | 
 | 
| 查看次数: | 2825 次 | 
| 最近记录: |