dsf23223
2009-09-23 15:56
浏览 23
已采纳

如何使用PHP重定向整个范围/ IP地址块?

I'm using the following snippet to redirect an array of IP addresses. I was wondering how I would go about adding an entire range/block of IP addresses to my dissallowed array...

<?php // Let's redirect certain IP addresses to a "Page Not Found"
$disallowed = array("76.105.99.106");
$ip = $_SERVER['REMOTE_ADDR']; 

if(in_array($ip, $disallowed)) {
 header("Location: http://google.com");
 exit;
}
?>

I tried using "76.105.99.*", "76.105.99", "76.105.99.0-76.105.99.255" without any luck.

I need to use PHP rather than mod_rewrite and .htaccess for other reasons.

  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 邀请回答

9条回答 默认 最新

  • dooo61733 2009-09-23 16:00
    最佳回答

    Try the substr function:

    $ip = '76.105.99.';
    if (substr($_SERVER['REMOTE_ADDR'], 0, strlen($ip)) === $ip) {
        // deny access
    }
    
    评论
    解决 无用
    打赏 举报
查看更多回答(8条)

相关推荐 更多相似问题