php - 怎样检测客户端是浏览器发出的操作?
黄舟
黄舟 2017-04-10 15:02:43
0
3
603

现在headless浏览器很多,能够模拟出浏览器的很多行为,这对于发垃圾广告信息来说相当容易,即使没有phantomJs或者CasperJs,通过抓包获取目标请求地址,以curl或者snoopy为例,user-agent、mac地址、ip地址、cookie等等全都可以伪造,唯一能防范的验证码,网上的打码软件也太多了,都是雇佣一些大妈大叔来识别,发SPAM也很容易,我就想有没有一种方法检测客户端是实实在在的浏览器,这样我就ban掉这个浏览器就容易多了

黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

reply all(3)
PHPzhong

可以试试这两个非常累的做法:

  1. 把验证码做复杂。比如gif动啊动的验证码。。。
  2. 限制频率,后端做记录,同一个ip请求频率过快就拉黑。。。
阿神

同意 @卖小女孩的火柴 的观点,你要先清楚你为什么要区分用户和机器人,通常有两种情况:

一是防攻击,减轻服务器压力,希望屏蔽掉非用户的访问;这种情况更好的方式是在系统中做好缓存,确保无论怎样量级的访问都不会拖垮服务器才是。

二是防止一些机制被滥用,比如防止用户使用机器人在「邀请朋友注册」中作弊;这种情况更好的方式是把用户和一个实体关联起来,比如可以是手机号,身份证号这样不容易被伪造的实体。当然,有一些用户是方案这种做法的,不希望提供个人隐私信息。

伊谢尔伦

你连打码都算进去的话,没有。

Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template