Php 通过IP、cookies限制访问?-有更好的解决办法吗?

Php 通过IP、cookies限制访问?-有更好的解决办法吗?,php,mysql,Php,Mysql,我使用PHP和MySQL限制未注册用户对下载的访问 我看到的唯一选项是cookies和/或IP地址 Cookie并不是一个好的解决方案,因为用户不能通过删除Cookie来重置下载计数,这一点很重要,因为这样做的目的是,如果用户的使用量超过某个水平,他们就要付费 这让我不得不通过在PHP中记录IP地址并将其插入MySQL数据库来限制访问。传统的问题是,有些人使用动态/共享IP,因此计数对他们来说毫无意义,甚至可能阻止其他潜在客户免费下载 但话说回来,我几乎所有的销售额都来自西方国家,而且似乎大多数

我使用PHP和MySQL限制未注册用户对下载的访问

我看到的唯一选项是cookies和/或IP地址

Cookie并不是一个好的解决方案,因为用户不能通过删除Cookie来重置下载计数,这一点很重要,因为这样做的目的是,如果用户的使用量超过某个水平,他们就要付费

这让我不得不通过在PHP中记录IP地址并将其插入MySQL数据库来限制访问。传统的问题是,有些人使用动态/共享IP,因此计数对他们来说毫无意义,甚至可能阻止其他潜在客户免费下载

但话说回来,我几乎所有的销售额都来自西方国家,而且似乎大多数西方人现在都使用静态IP地址。。。这是正确的吗

解决这一困境的最佳方案是什么?有什么想法吗

这是正确的吗

没有

您可以通过创建服务器端会话来解决这个难题。用户必须识别、登录。然后,您可以跟踪所有需要跟踪的内容

编辑:重述一下:您希望客户端系统不需要任何东西,只需要识别用户。你一次愿望太多,显然你选择了错误的平台

让我们更仔细地回顾一下:

  • 饼干:你不想要它们
  • IP地址:就像关闭浏览器一样,切换IP也很容易。你不会想要的
现在让我想想还剩下什么?嗯,嗯。什么都没有

您唯一能做的就是尝试组合尽可能多的标识元素,而不是使每个元素都需要它们,以便通过模式组合成有用且切实可行的标识用户的总和:

  • 饼干
  • 知识产权
  • 标题
  • 更多标题
  • 推荐人
  • 通过服务器端会话跟踪这一点。如前所述,如果您想开始构建复杂的东西,您需要会话

    这是正确的吗

    没有

    您可以通过创建服务器端会话来解决这个难题。用户必须识别、登录。然后,您可以跟踪所有需要跟踪的内容

    编辑:重述一下:您希望客户端系统不需要任何东西,只需要识别用户。你一次愿望太多,显然你选择了错误的平台

    让我们更仔细地回顾一下:

    • 饼干:你不想要它们
    • IP地址:就像关闭浏览器一样,切换IP也很容易。你不会想要的
    现在让我想想还剩下什么?嗯,嗯。什么都没有

    您唯一能做的就是尝试组合尽可能多的标识元素,而不是使每个元素都需要它们,以便通过模式组合成有用且切实可行的标识用户的总和:

  • 饼干
  • 知识产权
  • 标题
  • 更多标题
  • 推荐人

  • 通过服务器端会话跟踪这一点。如前所述,如果您想开始构建复杂的东西,您需要会话。

    请您网站的访问者至少提供一封电子邮件或一些无法更改或留在客户端的其他信息。。
    Cookie、会话可以清除,IP可能是动态的。

    要求网站访问者至少提供一封电子邮件或一些无法更改或留在客户端的其他信息。。
    Cookie、会话可以清除,IP可能是动态的。

    您可以通过混合使用策略而不是仅使用一种策略来更好地识别唯一的用户。结合IP地址、cookie和浏览器的用户代理,可以为客户端提供唯一的密钥。我还建议嵌入一个JavaScript代码段,用于发送操作系统、屏幕大小等信息。。等到要与唯一用户关联的服务器

    然后使用逐步下降的方法来管理访问。为您提供上述信息的所有访问权限的用户,可以将文件下载到其限制范围内。限制Cookie、禁用javascript的用户对文件的访问权限较小。而且,您可以依靠IP作为用户的唯一ID。如果他们在共享网络上,那么他们应该启用cookie

    适用于具有滚动IP地址、禁用Cookie和禁用Javascript的用户。你能做的并不多,但它们只占用户的一小部分


    cookie不是识别某人的好方法,因为他们可以删除它,但它会为您节省一些数据库执行,以便只查找IP和用户代理。因此,更重要的是速度。

    你可以通过混合使用策略而不是仅仅使用一种策略来更好地识别一个独特的用户。结合IP地址、cookie和浏览器的用户代理,可以为客户端提供唯一的密钥。我还建议嵌入一个JavaScript代码段,用于发送操作系统、屏幕大小等信息。。等到要与唯一用户关联的服务器

    然后使用逐步下降的方法来管理访问。为您提供上述信息的所有访问权限的用户,可以将文件下载到其限制范围内。限制Cookie、禁用javascript的用户对文件的访问权限较小。而且,您可以依靠IP作为用户的唯一ID。如果他们在共享网络上,那么他们应该启用cookie

    适用于具有滚动IP地址、禁用Cookie和禁用Javascript的用户。你能做的并不多,但它们只占用户的一小部分


    cookie不是识别某人的好方法,因为他们可以删除它,但它会为您节省一些数据库执行,以便只查找IP和用户代理。所以这更像是速度问题。

    我特别提到这是针对未注册用户的。尚未识别和登录的用户。我不想强迫用户在能够在网站上做任何事情之前注册,这会拒绝潜在客户,因为这对只是浏览的人来说太麻烦了。@Alasdair:登录不需要注册。和y