素材牛VIP会员
如何判断一个字符串是随机生成的而不是手写的?
 陌***人  分类:PHP代码  人气:959  回帖:10  发布于6年前 收藏

最近在处理一个问题的时候发现,有不少用户使用了发贴机或注册机来进行恶意注册。 这些用户混淆在正常用户中间,cookie,ip均为伪造,没有更好的特征。

经过观察,发现这些用户名一般都是随机生成,长度近似,但不知道是否有什么好的算法来识别一个字符串是否是随机生成的?

求解。

讨论这个帖子(10)垃圾回帖将一律封号处理……

Lv3 码奴
威***军 职业无 6年前#1

已有用户名作为样本,使用分类算法对新注册用户名做预测,判断新用户名是多大概率由注册机注册的。

Lv6 码匠
素***2 学生 6年前#2

1、我就叫j3c1ob2又怎样那些做安全的名字都诡异的要死。
2、为什么不用更唯一的方式验证例如手机号注册呀,微信注册呀
3、现在注册机好多,通过采集注册机略过的网站整理出来一个库,为人类做贡献。。

Lv1 新人
海***人 Web前端工程师 6年前#3

注册时加个验证码
需要验证邮箱才能发言
基本上可以拦截大部分注册机...
不需要考虑是否随机,也没有考虑的必要

Lv7 码师
疯***了 学生 6年前#4

你需要做人机识别,考虑以下几个方向吧:

  1. 验证码
  2. Tokens ( cookie )
  3. 建立强大的语料库匹配你希望获得的输入?

但实际可能操作和效果最好的都是第一个。

Lv5 码农
转***鬼 职业无 6年前#5

记得当年批量注册游戏账号,名字是从百度贴吧里面采集回来的,单从名字上,是无法防御的吧。看看现在主流的防御方法有什么吧,比如验证码、手机验证、访问频率等等。

Lv1 新人
十***刻 产品经理 6年前#6

為何ip可以偽造?! server判斷是不是要改一下

Lv5 码农
zh***ao 职业无 6年前#7

手机短信验证,同一手机号不能重复注册 —— 这是釜底抽薪的方法。

随机生成一个串,我抄写一遍,怎么能有牛算法可以分辨出来,随机算法也不是没有生成有意义字串的可能性,所以你的问题本身是无解的。

Lv1 新人
闪***星 UI设计师 6年前#8

强制手机验证吧

Lv7 码师
雪***狐 职业无 6年前#9

是啊别去考虑怎么验证是否随机了,基于既有算法作判断的话人家换一个算法不同的注册机你就判断不了了……

还是想想如何在注册时增加必须手工操作无法AI代替的步骤吧……

Lv1 新人
凌***志 移动开发工程师 6年前#10

你要解决的问题是:「如何防止恶意注册?」

1、无法判断一个字符串是否为随机。因为现在随机只是一个物理概念,而无法用数学的语言来定义。

2、防止恶意注册用的最多的办法就是验证码

 文明上网,理性发言!   😉 阿里云幸运券,戳我领取