【问题标题】:How Can I Block Multiple IP Addresses with PHP [closed]如何使用 PHP 阻止多个 IP 地址 [关闭]
【发布时间】:2014-12-13 18:25:22
【问题描述】:

我想通过 IP 屏蔽一些 BAD 用户。

所以我需要一个简单的 PHP 代码,它可以阻止多个 IP 地址并将它们重定向到其他网站。

现在我正在使用此代码

<?php
$deny = array("111.111.111", "222.222.222", "333.333.333");
if (preg_match($_SERVER['REMOTE_ADDR'], $deny)) {
header("location: http://www.google.com/");
exit();
} ?>

【问题讨论】:

  • 我们在这里不免费工作。如果您想要代码,请聘请开发人员。但是,如果您在使用现有代码时遇到问题,请在此处发布,我们会为您提供帮助。
  • 如果您已经尝试过某些东西并且在使其部分工作时遇到问题,那么很好,发布一些代码,我们可以告诉您哪里出错了 - 但 SO 不是“我想要此代码...”网站。
  • 有趣的是,你可以用不同的方式重新表述你的“需要”,然后你会得到帮助你的人......
  • 阻止 IP 是不可能。用户现在已经足够聪明地使用 Proxy,那么你怎么能阻止他们呢?

标签: php ip


【解决方案1】:

而不是使用 preg_match 使用 in_array 函数,因为 preg_match 接受第二个参数(要匹配的表达式)作为字符串。

使用下面的代码:

if (in_array($_SERVER['REMOTE_ADDR'] , $deny)) {
    header("location: http://www.google.com/");
    exit();
} 

【讨论】:

    猜你喜欢
    • 2012-06-29
    • 2011-02-21
    • 1970-01-01
    • 2010-11-04
    • 1970-01-01
    • 1970-01-01
    • 2017-06-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多