2016-12-03 15:52:26 5486次浏览 8条回答 1 悬赏 100 金钱

怎么防刷文章的阅读量?

每篇文章采用文件的方式存储用户的Id、存储访客的ip?

最佳答案

  • javalzbin 发布于 2016-12-03 22:25 举报

    感觉没有很好的方案,如果以ip来限制,比如在公司,就一个对外ip,多个人访问,你也就只能统计到一个,session相对来说好一点,但是对我这种,浏览器一关,自动清除缓存和数据的,也没效果。我们以前做过ip+session,限制一个ip每天最多能有多少个访问用户,也就是一天,一个ip最多有几个独立的session,超过就不统计

    1 条回复
    回复于 2016-12-04 09:35 回复

    这个方案可以,如果对数据准确度不高的话,用session就可以了,毕竟用户刷访问量意义不大,而且刷访问量成本会比较高。

  • 回答于 2016-12-03 16:17 举报

    ip

  • 回答于 2016-12-03 19:15 举报

    最简单的方式用session,如果有条件就用缓存。

    1 条回复
    回复于 2019-03-20 10:03 回复

    session是存储在服务器端的,到时候岂不是会产生很多文件,增加服务器的压力

  • 回答于 2016-12-05 09:52 举报

    session就可以了,别浪

    1 条回复
    回复于 2017-01-14 10:03 回复

    好屌的样子!我喜欢

  • 回答于 2017-01-18 18:09 举报

    学到了 点赞

  • 回答于 2018-11-29 23:26 举报

    学到了 点赞

  • 回答于 2019-04-25 10:12 举报

    学到了,点赞

  • 回答于 2023-06-19 16:37 举报

    在 Yii 2.0 框架中,可以采取以下步骤来防止刷取文章的阅读量:

    用户身份验证:确保只有经过身份验证的用户可以进行阅读操作。使用 Yii 2.0 的用户认证组件,如 yii\web\User,来验证用户身份。在文章的控制器或行为中,对需要阅读权限的操作进行身份验证,只有经过认证的用户才能进行操作。

    记录访问日志:记录每次用户访问文章的日志信息。可以使用 Yii 2.0 的日志组件,如 yii\log\Logger,来记录访问日志。在文章的控制器或行为中,在用户访问时记录相关的日志信息,包括用户ID、IP地址、访问时间等。

    IP 地址限制:限制同一 IP 地址在特定时间内对文章的重复访问。在文章的控制器或行为中,使用缓存组件,如 yii\caching\Cache,存储每个 IP 地址的访问记录。当有新的访问请求时,检查当前 IP 地址的访问记录,并判断是否已经达到限制。

    Cookie 控制:使用 Cookie 来限制同一用户在特定时间内对文章的重复访问。在文章的控制器或行为中,使用 Yii 2.0 的 Cookie 组件,如 yii\web\Cookie,来设置和读取用户的 Cookie 值。在每次访问时,检查用户的 Cookie 值,并判断是否已经达到限制。

    基于时间的限制:限制同一用户在一定时间内对文章的多次访问。在文章的控制器或行为中,使用 Yii 2.0 的缓存组件或存储组件,如 yii\caching\Cache 或 yii\redis\Connection,来存储和检索用户的访问记录。每次访问时,检查用户的访问记录,并根据设定的时间间隔进行限制。

    反作弊机制:使用反作弊算法来识别异常访问模式。可以通过分析访问频率、访问间隔、访问来源等因素,使用机器学习或统计算法来识别潜在的刷量行为。在文章的控制器或行为中,编写适合的算法来检测异常访问模式,并采取相应的防护措施。

    需要根据具体的业务需求和安全要求,结合以上步骤进行实现。同时,应密切关注用户反馈和系统日志,及时调整和改进防刷措施,以提高文章阅读量统计的准确性和可靠性。

您需要登录后才可以回答。登录 | 立即注册
鲁鲁槟
副总裁

鲁鲁槟 东莞

注册时间:2015-12-02
最后登录:2024-08-09
在线时长:124小时36分
  • 粉丝110
  • 金钱5620
  • 威望140
  • 积分8260

热门问题