当前位置:  开发笔记 > 编程语言 > 正文

我应该禁用哪些用户名?

如何解决《我应该禁用哪些用户名?》经验,为你挑选了6个好方法。

我正在为一个Web应用程序进行用户注册,并且刚开始认为我不想让一些聪明/邪恶的人出现并注册一个用户名,如'admin'.

我应该禁用哪些其他用户名?数据库关键字

有关系吗?

在此先感谢您的回复!

编辑:我有安全保障.我更感兴趣的是,人们常常禁止某些名字阻止人们伪造权威,甚至某些垃圾邮件喜欢注册的词语.



1> Elijah..:

可接受的用户名

作为一般政策,我通过以下方式限制我设计的系统上的用户名:

用户名必须低于ascii - 这不包括可用于欺骗用户的unicode用户名.例如,当您将unicode包含在用户名中时,名称"admin"和"admin"是单独的用户名,但可能与毫无戒心的用户相同.

用户名必须是唯一的 - 不建议使用用户名作为唯一标识符,但如果将其用作电子邮件或登录,则将其作为唯一值仍然有意义.

用户与保留关键字不冲突 - 禁止用户名成为常见的系统用户名非常有用,因为它是社交工程的一种途径,黑帽子可以使用它来欺骗系统上的用户.这意味着,应该阻止admin,webadmin,postmaster,root,administration,sysadmin等.更重要的是,如果您将使用REST样式的URL系统,请确保用户名不会与您将来可能包含的任何潜在路径冲突.

用户名被清除 - 重要的是从输入的用户名中删除任何html或css标记,以防止XSS攻击或可能的用户冒充尝试.另外,不要忘记从用户名中修剪前导和尾随空格字符.

问题实际上取决于您的使用.如果您的用户名只是与网络论坛上的用户相关联的名称,那么这并不重要.但是,如果用户名是具有安全性问题的大型系统的一部分,则应该有一个策略.不正确的用户名的主要危险在于,黑帽子可以利用它们作为社会工程无辜用户泄露敏感信息的一种方法.

有趣的是,在发布这个答案之后,我检查了Stack Overflow的用户名验证,它确实禁止像我建议的unicode字符.但是,它确实给出了一个神秘的错误,说用户名是"保留的".



2> Evan Meagher..:

http://xkcd.com/327/

但是,严肃地说,过滤掉包含潜在恶意代码的名称是个好主意.除此之外,任何反仇恨/巨魔/垃圾邮件/*审查都取决于您和/或您的社区.


请记住,清理数据输入并不一定意味着禁止像Robert这样的名字; DROP TABLE学生; - .消毒它可能意味着在你需要的地方正确地逃避它; 在SQL查询中以一种方式转义,在URL中以另一种方式转义,以另一种方式转义为HTML等.

3> Will Hartung..:

保持人们不被"授权发声名称"欺骗的最好方法就是以某种其他方式区分"权威"(即你在帖子中有特殊的文字颜色,你有特殊的图标或头像等等) ).



4> John Topley..:

如果您的用户名构成了URL的一部分,则可能需要禁用以下部分或全部内容:

API

公测

博客

演示

论坛

论坛

苹果手机

移动

安全

SVN

博客

欢迎

万维网



5> Jim OHallora..:

说真的,您需要确保在进入数据库之前正确转义任何用户生成的数据(不仅仅是用户名).这将确保您的用户无法进行SQL注入攻击(例如由Evan Meagher链接的Bobby Tables卡通).如果您的用户想要使用"Robert'); DROP TABLE"这样的用户名登录,那么请让他们冷静下来.只要确保它不会损害您的数据库.

同样,如果您在网站上的任何位置显示用户名,请确保您的html特殊字符已正确编码,以防止他们将

小妖694_807
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有