【发布时间】:2011-01-03 22:47:47
【问题描述】:
我正在尝试通过确保数据对特定字段有效(例如名称不能包含特殊字符/数字等)来清理输入的任何数据。但是,我不确定该怎么做当涉及到密码字段时。由于密码只是散列,我什至需要进行任何清理工作吗?如果用户要通过密码文本框注入任何恶意内容,我是否应该费心检查任何可疑内容? AFAIK,一些用户可能(应该!)具有特殊字符,例如“”,这通常会触发潜在的攻击警报。我应该不清理密码字段吗?限制密码输入对我来说是最后的手段,因为我认为用户应该在密码中使用各种字符。
谢谢
【问题讨论】:
-
感谢您思考这个问题并做正确的事 (tm)。我厌倦了将您限制为特定字符集或仅 10 个字符或更少的网站。是的,我说的是白痴建立银行网站。
-
大声笑,我知道你的意思。我仍然没有看到任何妨碍用户密码的正当理由。
-
可能值得禁止(尽管可能不会剥离)某些字符。例如控制字符,尽管有些人习惯在 UNIX 密码中使用制表符(我相信)。
-
我认为如果散列没有减轻任何危险代码,这将是最好的方法。由于原始密码没有存储在任何地方,加盐哈希应该没问题。
-
@XSL 同意!密码应尽快进行哈希处理。如果通过密码中注入的代码对某些网站进行了攻击,则该网站传递原始密码的时间过长。
标签: asp.net security input passwords sanitization