php - 如何计算广告的有效点击次数?

标签 php mysql

我想建立自己的广告系统。我希望用户能够从广告的每次点击中获得特定金额,例如 5 美分。

但是我遇到了一个问题。我不希望我的用户点击轰炸广告,这样就能赚更多钱。我想计算每个广告每个用户 1 次点击。

这是我迄今为止想到的......

<?php

$ip = $_SERVER['REMOTE_ADDR'];

$query = mysql_query("SELECT * FROM user_ip WHERE ip = '{$ip}'");

if(!isset($_COOKIE['ad_click'])){
    $_COOKIE['ad_click'] = 'Ad number';
}elseif(mysql_num_rows($query) < 1){
    mysql_query("INSERT INTO user_ip (ip, time) VALUES ('{$ip}', " . time() . ")");
}else{
    // ad 1 more click to user account
}

?>

我的主要问题是人们可以删除 cookie 并更改他们的 IP 地址。所以这在现实世界中行不通。

最佳答案

没有完美的方法来识别用户,但有足够多的不完美方法,如果您全部使用它们,您可以做出很好的猜测。

  • IP 地址可能应该是首先要检查的内容。 IP 通常在单个 session 期间保持不变,这将排除任何试图点击炸弹的外行。
  • 用户代理会告诉您浏览器和操作系统

在客户端,您实际上可以做很多事情。查看evercookie :

  • 标准 HTTP Cookie
  • HTTP 严格传输安全 (HSTS) 固定
  • 本地共享对象(Flash Cookie)
  • Silverlight 隔离存储
  • 以自动生成、强制缓存的 RGB 值存储 cookie 使用 HTML5 Canvas 标签读取像素(cookie)的 PNG 文件
  • 在网络历史记录中存储 cookie
  • 在 HTTP ETag 中存储 cookie
  • 在网络缓存中存储 cookie
  • window.name 缓存
  • Internet Explorer 用户数据存储
  • HTML5 session 存储
  • HTML5 本地存储
  • HTML5 全局存储
  • 通过 SQLite 进行 HTML5 数据库存储
  • HTML5 IndexedDB
  • Java JNLP PersistenceService
  • Java CVE-2013-0422 漏洞(小程序沙箱逃逸)

注意不寻常的点击频率并寻找奇怪的模式。

关于php - 如何计算广告的有效点击次数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34983347/

相关文章:

mysql - 当行是动态时将行转置为列 -MYSQL

php - 使用正则表达式以任意顺序匹配多个单词

php+mysql,使用 "join"时出现汉字乱码

php - Mysql用户统计

c# - Mysql自定义连接字符串

mysql - 需要有关 MySQL 搜索查询的帮助

javascript - 如何通过onClick()函数保留highchart折线图 - php mysql

php - 这是在两个服务器之间共享数据的最佳方式

php - Codeigniter 使用 this->db->like() 获取一列

MySQL 左外连接多张表