防止标准ASP.NET表单在onsubmit事件中提交某些字段的最佳方法是什么?具体来说,我有一个注册页面,我首先验证字段(RequiredFieldValidator),然后提交表单。不过,我只想从隐藏字段中提交密码哈希,而没有实际的纯文本密码字段。阻止asp.net表单提交某些字段
我可以重写默认的onsubmit函数以在提交之前取消字段,但是我将无法验证密码。处理这种情况的最佳方式是什么?
我正在用C#编写ASP.NET 3.5。
谢谢。
防止标准ASP.NET表单在onsubmit事件中提交某些字段的最佳方法是什么?具体来说,我有一个注册页面,我首先验证字段(RequiredFieldValidator),然后提交表单。不过,我只想从隐藏字段中提交密码哈希,而没有实际的纯文本密码字段。阻止asp.net表单提交某些字段
我可以重写默认的onsubmit函数以在提交之前取消字段,但是我将无法验证密码。处理这种情况的最佳方式是什么?
我正在用C#编写ASP.NET 3.5。
谢谢。
您可以在提交表单之前将明文输入保留在<form>
以外,或者在使用javascript之前将其删除,或者在处理帖子时忽略服务器上的这些字段。
至于散列密码的客户端,看看这个answer ...
唯一的(目前实际)的方式来防止登录 拦截(数据包嗅探)登录过程中使用 基于证书的加密方案(例如SSL)或经过测试的挑战 - 响应方案(例如基于Diffie-Hellman的SRP)。任何其他方法都可以被窃听攻击者轻易规避。 在那个笔记:哈希密码客户端(例如用Javascript) 是没有用的,除非它与上面的一个 - 即。或者用 保护带有强加密功能的线路或者使用经过反复测试的 挑战 - 响应机制(如果你不知道那是什么,只需要 知道它是最难证明的之一,最难 设计,并且最难实施数字安全的概念)。 哈希密码对于密码泄露是有效的,但不是对重播攻击,中间人攻击/劫持或 强力攻击(因为我们正在向攻击者提供用户名,密码为 和散列密码) 。
这是一个坏主意。你应该**总是**散列在服务器上的密码。 –
我在注册期间用盐对密码进行散列,然后将散列存储在服务器上。这是一种错误的做法吗? –
您为什么在客户端上散列密码?如果出于安全考虑,我建议使用HTTPS并且使用HTTPS – Earlz