微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php – 用户名(和密码)中的Unicode?

After reviewing this我意识到我还有一些关于这个话题的问题.

出于合法的安全目的,是否应该“遗漏”任何字符?这包括所有字符,例如括号,逗号,撇号和括号.

在这主题上,我承认不明白为什么管理员似乎喜欢强制执行“你只能使用字母,数字和空格”规则.还有什么可能成为安全漏洞或破坏我不知道的东西(即使是ASCII)?据我所知,在我的编码日期间,绝对没有理由禁止任何角色使用用户名.

通常,这些字符可用于在程序中注入恶意代码.例如 SQL injection(引号,短划线等),XSS/CSRF(引号,鱼括号等)甚至是在代码中的其他地方使用eval()时的编程语言注入.

当您作为开发人员正确清理用户控制的输入/输出时,即使用HTTP请求进入的所有内容时,这些字符通常不会造成伤害;标题,参数和正文.例如.参数化查询或在SQL查询中内联它们时使用mysql_real_escape_string()以防止sql注入;在使用HTML内联它们以防止XSS时使用htmlspecialchars().但我可以想象管理员不信任所有开发人员,因此他们添加了这些限制.

也可以看看:

> OWASP on PHP top 5 vulrenabilities

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐