URL 访问统计防刷有什么解决方案吗?

2015-10-19 15:53:25 +08:00
 Bantes

比如 url 为 http://www.v2ex.com/?pid=xva123
需要统计该 url 有多少终端(不是 IP )访问,在微信中可以基于 openid 来限制刷量
但是如果不在微信中,而是在浏览器中,有什么好的办法来解决刷量或者提高刷量成本?
目前访问渠道有微信、各类 APP 内置浏览器

4282 次点击
所在节点    程序员
13 条回复
domty
2015-10-19 16:01:41 +08:00
ip 和终端类型两个集合的笛卡尔积?
Bantes
2015-10-19 16:04:35 +08:00
@domty 貌似现在没办法验证终端唯一性,微信内部可以基于 openid 来验证该终端对应服务的唯一性,而浏览器的话除了登陆鉴权不知道还可以怎么来验证
heloman
2015-10-19 16:10:45 +08:00
@Bantes 针对同一 ip ,用 http 请求的 User-Agent 区分终端如何?这个不够用的话再用 js 获取浏览器和系统硬件信息呢?
domty
2015-10-19 16:20:14 +08:00
@Bantes
简单点 回复的时候往 cookie 里写值,结合 ip 和 cookie 值。
同一 ip 多次请求还没有 cookie 值得话,统计的时候过滤掉这些值。
Bantes
2015-10-19 16:21:10 +08:00
@heloman 那么,如果用户更换 User-Agent 来重复访问的话就可以刷量了。 JS 获取浏览器和系统硬件这个用户可以修改么?
heloman
2015-10-19 16:31:07 +08:00
@Bantes 这个可能没法严格控制的,用户想刷的话总是有途径, ip 是可以换的,即使微信也可以花钱代刷的,能提高刷量成本就行啦 ps:js 获取信息这个东西用户改起来应该有一定困难吧 另外这个功能似乎很多浏览器不支持的,也不是可行方案
Bantes
2015-10-19 16:46:45 +08:00
@heloman 是的,目前就是因为没办法完全屏蔽刷量,所以在想办法提高用户刷量成本。微信的花钱代刷,你刷 1000 量,要 1000 个微信号,成本也是很高的,所以基本可以算为没办法刷。
ethego
2015-10-19 16:52:03 +08:00
直接获取用户的网卡 mac 地址或者硬盘序列号,叫你刷
kslr
2015-10-19 17:02:21 +08:00
浏览器指纹
lygmqkl
2015-10-19 17:07:42 +08:00
基于 web 最简单的办法 ip+cookies

但是不得不考虑以下两个场景
A. wlan 下多用户访问,比如公司,那么 ip 应该那掉 单独用 cookies
B. cookies 的性质决定了其不可靠和可被修改,那么要考虑一下了,但是其实如果是大访问量的情况这个部分应该微乎其微

可能在保证数量下 cookies 是最合适的,你必须要考虑成本和数据。

也可以复杂点 ip+cookies,同 ip 下多 cookies 处理需要额外的成本,这就要从精度和费用上找平衡点了。

个人看法希望大神拍砖。
ChoateYao
2015-10-19 18:36:00 +08:00
前期不要做限制,等出结果的时候根据 IP 确认哪些数据是刷的再删除掉。
lygmqkl
2015-10-19 18:42:25 +08:00
@ChoateYao 用 log 也是一个方法,类似这样做减法单次处理的思路也不错。
29EtwXn6t5wgM3fD
2015-10-20 09:45:15 +08:00
用户访问路径来源,跳出率,访问时间

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

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

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

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

© 2021 V2EX