【问题标题】:php strong ban system based on ip addressphp基于ip地址的强禁系统
【发布时间】:2011-11-12 21:54:50
【问题描述】:

我有一个社交网站,我想建立一个基于 IP 地址的禁止系统。关于我们如何控制具有动态 IP 地址的用户?如果我将根据帐户阻止用户,他/她可以创建新帐户。什么是最好的解决方案?

【问题讨论】:

    标签: php


    【解决方案1】:

    你不能,也不应该。

    IP 地址不能唯一标识用户。它可以是从一个用户到整个国家的任何地方。如果他们有来自 ISP 的动态 IP,那么他们的 IP 将会改变,而您唯一能做的就是阻止整个 ISP……这不是一个好主意。

    即使您可以通过 IP 阻止,也没关系,因为有人可以使用代理。

    改为禁止他们的帐户。将帐户链接到电子邮件地址。基本上,让绕过被禁止变得更加麻烦。这是你能做的最好的。

    【讨论】:

    • 添加;如果尚未实施,请使用验证码或替代机器人过滤器,以防止恶意用户生成大量必须被批量禁止的帐户。
    • 另外,您可以通过 IP 封禁,然后研究阻止代理网站访问您的网站,从而基本上取消使用代理。
    • @Nightfirecat,但这只是提供了一个临时解决方案。通常,您可以通过重置路由器来获得新的 IP。每次连接到我的移动网络、大学网络或朋友或家人的 WiFi 时,我都会获得一个新的 IP 地址。
    • @jordanmoore 没错,但通常,阻止某人一次就足以阻止他们进一步尝试。被阻止的人知道如何规避它的可能性更小。
    • @Nightfirecat 我倾向于同意你的观点。虽然说被阻止的人可能会在尝试改天访问时意外地绕过它 - 但是是的 - 像这样阻止用户可能足以让他们将烦恼带到其他地方。我评论的唯一原因是因为 OP 是在一个强大的禁令系统之后,我不相信 IP 禁令可以为他实现这一点。
    【解决方案2】:

    如果我是你,我会使用这样的东西:

    if (window.localStorage) {
        localStorage['banned'] = '1';
    }
    

    Noobs 永远不会知道您正在通过 HTML 5 本地存储阻止他们。

    【讨论】:

    • 大多数浏览器在您执行完整的“删除历史记录/cookies”时现在都包含本地存储;也是。
    猜你喜欢
    • 1970-01-01
    • 2014-03-07
    • 2011-12-07
    • 1970-01-01
    • 2020-02-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多