为了避免同一设备发出请求,如何使用 PHP 为所有移动设备获取唯一 ID?
问问题
32527 次
1 回答
15
可靠地识别客户的设备并不容易:
- 您可以设置 cookie,但用户可以伪造、修改或删除它。
- 您可以尝试跟踪 IP,但用户可能使用 VPN、代理或动态 IP;他也可能是本地网络的一部分,您的代码可能会影响多个用户
- 您可以尝试flash cookies,但这些也是可以管理的;更不用说用户可能没有安装闪存
- 您可以尝试使用浏览器指纹识别,但用户可能会切换到不同的浏览器、安装插件或只是更改一些设置
- 您可以尝试获取 MAC 地址,但是...这也会失败
最好的办法是强制注册,并假设一个帐户 = 一个用户;
您的第二个最佳选择是仅对设备进行 cookie,并依赖该 cookie。当然 - 精明的用户会很快弄清楚,但您将涵盖大多数非精明的用户;这也是谷歌为跟踪用户所做的。
我不知道你想达到什么目标,但如果是用户跟踪,那就这样想吧:如果强大的谷歌依赖于身份验证 + cookie,那你为什么不呢?
另一方面,如果您有一项服务,并希望将每个用户的使用限制为一个试用帐户,那么就别管它了——大多数用户总会想办法创建另一个免费帐户,为什么不给他们有很多很好的理由来支付吗?
更新
另一个技巧:
http://www.radicalresearch.co.uk/lab/hstssupercookies/
Because HSTS is a security feature and isn't intended to be used for tracking, web browsers treat it differently from cookies. It is only by intentional misapplication that HSTS can be exploited to track users.
于 2013-09-29T19:19:25.443 回答