使用PHP的设备的唯一ID

时间:2013-09-29 19:13:42

标签: php

为了避免同一设备发布请求,如何使用PHP获取所有移动设备的唯一ID?

1 个答案:

答案 0 :(得分:14)

要可靠地识别客户端的设备并不容易:

  1. 您可以设置Cookie,但用户可以伪造,修改或删除它。
  2. 您可以尝试跟踪IP,但用户可以使用VPN,代理或拥有动态IP;此外,他可能是本地网络的一部分,您的代码可能会影响多个用户
  3. 你可以尝试flash cookies,但这些也是可以管理的;更不用说用户可能没有安装闪存
  4. 您可以尝试使用browser fingerprinting,但用户可能会切换到其他浏览器,安装插件或只是更改一些设置
  5. You may try to obtain MAC address, but well... this will fail too
  6. 您最好的办法是强制执行注册,并假设一个帐户=一个用户;

    你的第二个最佳镜头是将cookie设备干掉,并依赖于该cookie。当然 - 精明的用户会很快发现它,但你会覆盖大多数非精明的用户;这也是谷歌为跟踪用户所做的事情。

    我不知道你想要达到什么目标,但是如果是用户跟踪那么就这样思考:如果强大的google依赖于身份验证+ cookies那你为什么不呢?

    另一方面,如果您有服务,并希望限制每个用户使用一个试用帐户,那么就完全忘掉它 - 大多数用户总会找到一种方法来创建另一个免费帐户,为什么不呢?你给他们很多很好的理由支付费用吗?

    <强>更新

    另一个技巧:

    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.