是否需要密码输入清理?

时间:2010-01-11 21:48:45

标签: asp.net security input passwords sanitization

我正在尝试通过确保数据对特定字段有效来清理输入的任何数据(例如,名称不能包含特殊字符/数字等。)但是,我不知道该怎么做说到密码字段。我甚至需要打扰任何消毒,因为密码只是简单的哈希?如果用户要通过密码文本框注入任何恶意内容,我是否应该检查是否存在任何可疑内容? AFAIK,一些用户可能(应该!)具有特殊字符,例如'< >',这通常会触发潜在的攻击警报。我应该保留密码字段未经过清理吗?限制密码输入对我来说是最后的手段,因为我觉得用户应该在密码中使用各种字符。

由于

2 个答案:

答案 0 :(得分:3)

只要您在应用程序中对其进行哈希处理,就应该没问题。

考虑到你正在使用asp.net,有点偏离主题,但一个明显的例外是,如果你使用PHP和MySQL并做这样的事情:

UPDATE users SET password = PASSWORD('$pwd') WHERE userid = $uid

在这种情况下,您首先需要清理$ pwd。

答案 1 :(得分:3)

如果您担心SQL注入攻击,则应该开始使用参数化查询与数据库进行交互。由于确定密码的有效字符是一项业务规则,因此在我的客户不这样做的时候,我不会删除任何内容。

所有其他输入都应该进行清理,因为它们也可能会显示在您的页面输出上,并可能导致XSS攻击。