我想建立自己的广告系统。我希望用户能够从广告的每次点击中获得特定金额,例如 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/