ban*_*anx 49 security unicode web-services username
为什么大多数(所有?)网站仅支持ASCII用户名?如果管理员决定开始接受Unicode用户名,是否有任何安全注意事项?
Raf*_*ird 58
同性恋攻击.用户'cat'和'сat'是不同的unicode字符串,尽管它们看起来相同.第二个'сat'中的第一个字母是俄语'с' - "CYRILLIC SMALL LETTER ES".系统不能轻易地告诉你是否欺骗了另一个用户的名字 - 对于计算机而言,缺口是不同的.
编辑:防止混合脚本无法解决问题.例如'сосо'是纯Cyryllic,可以用来欺骗ascii'coco'.
此外,从左到右覆盖(和朋友.)让他们不加素,他们会弄乱整个页面.
小智 6
HTTP身份验证?通过现有协议发送unicode用户名(和/或密码)可能会出现一些问题.我之前遇到的一个案例是基本身份验证.没有明确定义的方法来处理在基本auth头中发送这些unicode用户名/密码.
尽管为什么应该有用户名而不仅仅是用于识别用户的"密码",但我认为没有理由不允许使用unicode用户名.
更重要的是,密码要验证为与语言无关:它应该处理密钥,而不管用户的键盘设置如何.这意味着,"שלום"和"akuo"将是相同的密码.这很重要,因为用户经常看不到他正在键入的密码字符,如果CAPSLOCK打开,他们会非常生气.
Sco*_* M. -2
我想说一个重要原因是大多数 PHP 安装缺乏对 unicode 的支持。它并不容易使用,所以当 ASCII 的可能性足以覆盖您的整个用户群时为什么要允许它呢?