php 如何对客户端 pc 生成唯一标识?

2014-09-17 09:48:00 +08:00
 kisshere
想对论坛发广告帖的用户浏览器做永久屏蔽,但目前用于标识客户端浏览器,用cookie,但是很容易被清理掉,php又没法获取mac地址,用evercookie貌似也应该能被清除,有没有更好的办法获取客户端浏览器唯一标识?
12925 次点击
所在节点    程序员
71 条回复
RemRain
2014-09-18 08:07:45 +08:00
注册账号需要绑定手机号也是一个办法
kisshere
2014-09-18 08:43:07 +08:00
@RemRain 怎样干掉phantomjs?
RemRain
2014-09-18 12:42:57 +08:00
加载 flash 啊,phantomjs 默认是不加载 flash 的,即使重新编译 能加载 flash,也只是能显示,无法控制,无法模拟点击 flash 中按钮的
imn1
2014-09-18 12:47:21 +08:00
老实说,我是不太想教你方法,虽然我不做post(发广告),但做了10年get(爬虫)

上面有些朋友说的对,几近无解、提高成本
我遇到几个情况算是比较麻烦的,但并非我解决不了,只是懒得搞
1.验证码,单纯的copy式验证码不难,难的是一些要思考的,就是答案并不在显示的图片内
听闻清大还弄了个解高数的验证码?
2.服务器端频率限制
3.客户端(主要是js)用一个算法生成一个特征值(每次不同),服务器端反解判断

1/2两种方法我觉得服务器那边算是山穷水尽了,因为这两种方法是严重影响用户体验的,是一种杀敌500自损1000的做法,很容易流失客户
第三种可能只对我有效,其他人无效,因为我做爬虫不赚钱,纯兴趣,目标比较固定是图片和那些图片相关资料,个人对js引擎不太熟,图片到处都是,要我花时间去研究破那个js不值得;但那些发广告的都是有钱收的,性质就大不一样了,可能他们挂js引擎已经很熟悉了……

我的建议是,摸索一下客户的忍耐程度,主要以方法2,不定时用方法1
方法3如果做得很高级,也是有一定作用的,你可以从adblock -> anti adblock -> anti adblock killer 之间的战争往深处想

最最高级的还是搞好站点的氛围,重疏轻堵,这方面我给v2ex点赞
typcn
2014-09-18 13:20:08 +08:00
成本最低的办法:让成熟的大厂商来做

强制使用 openID 登陆 貌似现在 qq 号 已经很难批量注册了,因为要手机验证码。
lygmqkl
2014-09-18 17:09:03 +08:00
@mornlight 你如果追求完美主义我只想说,没意义,你能做的就是用最低的成本,给他们造成最大的打击,上面谈的那一个点不能被伪造?莫非你还以为现在都是人工发的? 无非就是模拟出来一个包而已。 认真你就输了。
lygmqkl
2014-09-18 17:11:56 +08:00
仔细读了上面各位的留言,很有智慧,我只想说,现在貌似需要一套算法来实现人工智能了。。。。太高大上了,开发成本考虑过吗
tabris17
2014-09-18 17:20:14 +08:00
有种浏览器指纹识别,就是综合IP地址的地理位置、Cookie、Flash Cookie、User-Agent,还有通过JS获取到的一些客户端信息,比如:屏幕分辨率、是否支持Java、各种插件安装和版本信息等。

各种因素综合得到浏览器指纹
kisshere
2014-09-18 17:44:02 +08:00
@tabris17 能给个地址么?
tabris17
2014-09-18 17:46:19 +08:00
@kisshere 我也没详细文章,要不你自己搜一下
jedihy
2014-09-18 19:31:52 +08:00
任何程序都没办法取得对方mac地址,转发的时候mac会被替换,除非你们在同一个内网

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/133910

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX