0

为了减少攻击者的可能性,是否值得在表中仅包含字母数字值?例如,注册表单上的用户名和密码输入应用以下内容:

preg_replace("/[^A-Za-z0-9 ]/", '', $input); 

当然,每次登录前都执行相同的操作?

4

2 回答 2

2

通过删除任何字符,您实际上会削弱安全性。

删除任何字符绝对没有意义,而密码中需要一些非 alum 字符以提高安全性

请参阅我关于“非法”字符主题的其他答案:https ://stackoverflow.com/a/2995163/285587

于 2013-01-15T14:58:22.133 回答
1

我们可以使用PHP 准备语句等其他方式来防范可能的 SQL 注入。但是,我们还必须确保任意用户输入不会返回到服务器进行显示,否则可能会进行脚本注入。虽然如果从头开始设计系统,后者是可以避免的,但可能很难修补很久以前不小心编写的东西。

因此,如果某些用户提供的数据库字符串可能会返回给浏览器,在某些情况下,使用一些过滤来防止 JavaScript 注入可能是有意义的。

于 2013-01-15T15:05:08.160 回答