我想建议登录用户,如果他们的第一个选择已经采取.假设,用户想要注册为"超人".现场已经有一些超人了.登录以"Superman01","Superman02"等形式建议.所以,脚本必须:
检查db中的"超人"登录
如果已经使用过,请附加'01'登录并在DB中检查它
如果已使用,则递增计数器('02'),追加登录并再次检查
找到未声明的登录信息后,将其返回给用户
我现在不喜欢这个模式的是它需要多个MySQL数据库请求.有没有办法一次性获得第一次无人认领的登录?也许与存储过程或聪明的SQL查询?
UPD:提供赏金
为什么不在where login like 'superman%'
代码中选择并迭代结果集?
请求这样的提示短语:
另外请提供一个提示短语,如果您选择的用户已经被其他人使用,您希望自己成为用户名的一部分.
例如,如果你的名字是约瑟夫,那么约瑟夫,约瑟夫或乔将被采取.所以你可以提供一个提示短语,可以是以下之一:
你的姓氏 - 例如.史密森 - 这将暗示"joe.smithson"
你的居住城市 - 例如.湾区 - 建议"joseph_bayarea"
帐户的目的 - 例如.开发者 - 这会暗示"joseph-devel"
一种颜色 - 例如.蓝色 - 这表明"bluejoe"
一个数字 - 后缀为"joe99"
获取此提示信息的另一种方法是组合在注册表单中输入的其他数据.我不能立即想到任何其他方便 和 通用的方案来猜测用户想要建议的用户名.
特别是因为您的网站提供的服务未指定.
解决这个问题的另一种方法是查看像Slashdot这样的网站生成的那些"智能" 验证码背后的代码.一些机智的开发;-)有一堆语言与手头的主题语义链接,并将这些短语用于验证码.
这款智能/智能验证码有点像Google Sets.
Coding Horror偶尔也会展示这些聪明的catpchas.
使用这些类型的服务或掌握语义链接术语的良好数据库.然后将这些条款与您要求用户提供的提示短语相关联.
Google可以轻松完成此操作,因为"您的所有搜索都属于Google"(TM).
您有一个更容易的任务 - 您不必抓取网络,您不必提供搜索引擎结果或链接.您只需要一个语义数据库.
你可以得到一个,你在网上看起来很难.
您可以从同义词/反义词等开始
.IIRC,其中一个是wordnet,但我不知道许可证.所以要查一查.
附加(可选,但不要部分实现):
我建议如果你做了这么好的事情,那就把它变成开源.
这将对其他人非常有帮助,并为您提供一个伟大的代表.
并确保还出版代码对自动登录的必然情况的一些编码,没有业余时间将使用语义连动开字数据库,生成对您的应用程序的注册请求道德和地段和所有其他!
机器人不断变得更聪明,更聪明.
电子邮件验证是针对这一块的保护-但这仅仅是如果电子邮件服务不能被颠覆-这是可以的,如果它是一个新的电子邮件服务-这滚滚而来了所有的时间.
因此,如果您要实现这个想法并将其作为开源发布,那么这是一项相当大的任务.那你也要保护它.
或者你可以保持自己的网站.