为了减少攻击者的可能性,是否值得在表中仅包含字母数字值?例如,注册表单上的用户名和密码输入应用以下内容:
preg_replace("/[^A-Za-z0-9 ]/", '', $input);
当然,每次登录前都执行相同的操作?
为了减少攻击者的可能性,是否值得在表中仅包含字母数字值?例如,注册表单上的用户名和密码输入应用以下内容:
preg_replace("/[^A-Za-z0-9 ]/", '', $input);
当然,每次登录前都执行相同的操作?
通过删除任何字符,您实际上会削弱安全性。
删除任何字符绝对没有意义,而密码中需要一些非 alum 字符以提高安全性
请参阅我关于“非法”字符主题的其他答案:https ://stackoverflow.com/a/2995163/285587
我们可以使用PHP 准备语句等其他方式来防范可能的 SQL 注入。但是,我们还必须确保任意用户输入不会返回到服务器进行显示,否则可能会进行脚本注入。虽然如果从头开始设计系统,后者是可以避免的,但可能很难修补很久以前不小心编写的东西。
因此,如果某些用户提供的数据库字符串可能会返回给浏览器,在某些情况下,使用一些过滤来防止 JavaScript 注入可能是有意义的。