黑名单:IP 还是域名?

黑名单:IP 还是域名?

我正在我的网站上实施黑名单系统,监控联系表单的可疑使用情况(垃圾内容和过高频率)。

当我发现某人/机器人符合我的黑名单标准时,我想将他们作为黑名单实体发送到我的数据库。

我的问题是,我应该将它们作为 IP 还是域名列入黑名单?

据我所知,将 IP 列入黑名单将会更加有效,因为我允许人们在表单中输入他们的电子邮件地址,并且他们可以轻松地定期更改他们的域名。

然而,缺点是,如果我将某个 IP 列入黑名单,我可能会将一大群共享一个 IP 的人列入黑名单,而实际上只有一个人是坏人(即大学校园、咖啡店等)。

我还缺少什么解决方案吗?

答案1

最简单的方法是限制黑名单的时间。
第一次将 IP 放入数据库时​​,将超时设置为 3 天或类似时间。
对于该 IP 的后续提交:

  • 第二次垃圾邮件来自一个 IP,将超时设置为 2 周。
  • 第三次垃圾邮件来自同一 IP,将超时设置为永久 (0)

  • 或者类似的东西,SMTP 灰名单的工作原理类似于此,并且非常有效。

    答案2

    我意识到我加入这个讨论有点晚了,但我把这个想法更进一步,认为我的技术可能对其他人有用。我会自动阻止作恶者,但允许他们自己解除阻止。这样,如果共享(或 NATted)IP 被阻止,就不会是永久性的。方法如下:

    我在 robots.txt 中屏蔽的一个或多个子目录(文件夹)中设置了一个默认(脚本)页面。如果该页面被行为不当的机器人(或窥探者)加载,则会将其 IP 地址添加到屏蔽列表中。但我有一个 403(“未授权”)错误处理程序,可将这些被屏蔽的 IP 重定向到一个页面,该页面解释了发生了什么,并包含一个验证码,人类可以使用该验证码来解除对 IP 的屏蔽。这样,如果某个 IP 因某人将其用于不良目的而被屏蔽,下一个获得该 IP 的人不会被永久屏蔽——只是有点不方便。当然,如果某个 IP 不断被多次重新屏蔽,我可以采取进一步的手动措施来解决这个问题。

    具体逻辑如下:

    1. 若IP没被封,则允许正常访问。
    2. 如果访问者导航到禁区,则阻止他们的 IP。
    3. 如果 IP 被阻止,则将所有访问重定向到包含验证码的“解除阻止”表单。
    4. 如果用户手动输入正确的验证码,则从阻止列表中删除该 IP(并记录该事实)。
    5. 冲洗、涂抹泡沫,重复以上步骤以进行进一步的操作。

    就是这样!一个脚本文件用于处理阻止通知和解除阻止验证码提交。robots.txt 文件中有一个条目(最少)。htaccess 文件中有一个 403 重定向。

    希望这对某些人有帮助。它对我来说非常有效。我在多个网站上使用它。

    答案3

    嗯...这取决于网站上使用的后端类型,例如,Wordpress 安装中使用了一个 Bad Behavior 插件,它可以完成黑名单工作。它具有灵活性,您可以通过 ip、域或用户代理字符串将其列入黑名单。此外,我想知道并假设您已安装验证码?

    答案4

    嗯,我猜你说的域名是指将电子邮件地址列入黑名单?因为将整个域名列入黑名单可以阻止比将 IP 列入黑名单更多的用户。

    我想我会选择 ip,尽管我认为你从错误的角度来解决这个问题。

    为了防止机器人/垃圾邮件机器人发帖,请使用验证码,例如验证码非常好(而且你可以使用它来帮助将旧书数字化)。

    为了阻止不良用户,IP 很容易更改,因为大多数人没有固定 IP(固定 IP 通常需要额外付费),因此他们只需重新连接即可,直到您再次发现他们。实际上,要真正阻止“邪恶”用户是相当困难的,但诀窍似乎是不让被禁用户知道他们被禁了,因此让联系表单表现得好像他们没有被禁一样,这样他们就需要更长的时间来弄清楚并更改他们的电子邮件/IP。但是,是的,如果您可以禁止他们的 IP 以及他们的电子邮件地址,为什么还要这样做呢?

    相关内容