2012-08-05 22 views
1

现在我已经生成了一个有攻击性的用户名数据库,尽管它有大约一千个条目,但我意识到并不是所有不好的用户名都可以存储。有太多可能的坏用户名可以存储在数据库中。为了克服这种情况,我已经开始监控用户在网站上的活动并阻止用户发送/使用粗言秽语等等,但是没有其他方式可以阻止用户首次注册用户名吗?我正在使用C#和ASP.NET WebForms。如何在注册时停止冒犯用户名?

+0

一个可能的解决方案,你可以让其他用户报告另一个用户配置文件的问题,然后一个管理员/管理员可以处理它。社区驱动。 – 2012-08-05 07:59:29

回答

1

这不是程序化解决方案的问题。无论您尝试使用黑名单有多聪明,用户都会找到解决方法。

最后,将作业卸载到用户本身可能会更简单;让他们能够报告用户名,然后有一个简单的管理界面,您可以高效地查看报告。

0

那么,你没有说你正在使用什么语言(C#或VB),所以我只是指出你在正确的方向。

除了维护所有可能的错误用户名列表外,您还可以维护用户名中不应允许使用的单词列表,并检查是否有任何单词在提交的用户名字符串中。

尝试对不良单词列表中的foreach,并尝试使用InStr与提交的用户名进行比较。

+0

我已经这么做了。但有一个问题。汉考克并不是一个坏词,但它会被封锁。 – 2012-08-05 07:54:21

+1

我不打扰有机器解决方案 - 有一个“报告滥用”链接,让人民自治。无法绕过人类的思维来绕过你的算法。 HTH先生Coxucker(hrhr) – 2012-08-05 07:55:26

+0

我只是想说同样的事情......做一个任何一方都有空格的指示,并且只会匹配单词本身。今天结束的时候,人们总是可以绕过任何基于机器的解决方案,只要他们努力工作。 +1报告滥用。 – 2012-08-05 07:56:14

相关问题