页面视图/后视图计数器

时间:2011-07-05 12:08:02

标签: php mysql

我正在尝试制作一个帖子查看计数器,到目前为止它很容易,但我有以下问题,当用户重新加载页面时它再次更新,我想要跟踪原始,但不是重新加载。我怎么能做到最好?设置一个cookie?

该网站:该网站有超过10k +帖子,我不确定,如果使用cookie完成这项工作:)

关于更新数据库,我应该实时更新低优先级,还是每5分钟保存一次数据和处理?

Gimma请一些输入我怎么能做到这一点。谢谢

3 个答案:

答案 0 :(得分:0)

您可以使用Cookie,例如,如果点击已更新,则将Cookie var UPDATED设置为1   但是COOKIE的问题是任何人都可以编辑它,所以你也可以用SESSION来试试它,因为用户无法编辑它。
 我认为DB不是一个好的选择,你也可以尝试使用Google Analytic

答案 1 :(得分:0)

通过比较ip |来获取唯一用户会话ID |页面ID如果存在相同值的组合,则不要插入或插入它,但稍后通过获取唯一值

来处理

答案 2 :(得分:0)

Page View Counter like on StackOverFlow建议的另一个答案是

  • 在页眉中添加“令牌资源”,例如<link href="/questions/246919/increment-view-count" type="text/css" rel="stylesheet" />。请注意,令牌资源应该是特定于页面的(由于路径),并且所有现代浏览器都会缓存它们下载的资源文件。
  • 仅在重新下载令牌资源时递增您的计数器(您可以使用apache的mod-rewrite来保持整洁的URL,然后映射到您拥有的任何递增计数器)。这样就不需要cookie或存储[ip |会议|每页综合视图,减少数据库请求的数量;并且不需要cookie。

它与[ip |]一样安全会议|组合再次攻击(在任何一种情况下,有人可以写一个紧密的循环请求资源或页面而不存储cookie)。但是在计算所有请求时没有安全失败的方法来避免滥用(因为NAT,你不能依赖于每个人的唯一IP)。