我不知道如何处理这种情况。我有一个目录,我计算每个项目的综合浏览量。对于经过身份验证的用户,在请求之间延迟200秒后,我只计算为新的综合浏览量。对于未经身份验证的用户,我使用IP并且还有200秒的延迟。
我使用redis SETEX进行验证,然后密钥将在200秒后过期。如果密钥不存在,则插入新的页面视图。
像这样的东西
item_id:user_id
(经过身份验证的用户)item_id:ip
(未经身份验证的用户)嗯,这可以正常工作,直到用户尝试有意增加特定项目的页面浏览量。我昨天只对特定项目有近3000次观看(去年该页面只有150次观看......)。因此,他创建了一些机器人来延迟访问该页面以避免我的验证。
我需要注册合法的综合浏览量,但我需要避免欺诈类型。任何的想法?
答案 0 :(得分:2)
据我所知,处理机器人的最佳方式是 Google Analytics 。
Google Analytics的工作原理是将JavaScript代码段插入 你网站的标题。每当a。时,此代码段会对页面视图进行计数 访问者触发JavaScript,大多数机器人不处理 的JavaScript。
答案 1 :(得分:0)
您可以在应用程序中集成某种CAPTCHA,以限制用户在特定时间内查看页面的次数。
在同一用户或IP的给定持续时间(比如,3分钟内的20个视图)内设定数量的视图时,让他们在以后每次尝试查看时验证CAPTCHA页。
答案 2 :(得分:0)
为每个网页浏览请求发出Token
。将令牌存储在Cookie中。
将您已有的IP或USER_ID用作过滤机制。
加载页面后,使用Cookie中的token
,old_token
,Operating System
,Browser Name
和IP
/ User_ID
来验证请求。
提供两个不同的时间,如200秒的到期时间和3600秒的宽限时间,如果上述任何数据在宽限时间内匹配,请不要计算页面视图。
您还可以通过在宽限期内跟踪网页浏览量来扩展此功能,并创建一些方法来验证网页浏览请求。
答案 3 :(得分:0)
我通常会将请求时间与请求时间一起注册,以测量每个特定时间跨度的访问频率和访问者计数
当您使用item_id
,user_id
,ip
和timestamp
注册所有请求时,您可以通过user_id
对其进行分组来处理注册,ip
和timestamp
通过这种方式,您可以找出每秒点击量,并识别并排除那些明显超过正常活动模式而不会丢失数据的人。
我经常使用网络服务日志按小时,每天甚至每月为某些网址生成有关访问频率的统计信息。