HopeSun.info's Archivers

From wind on 2010-06-30 16:12:46

根据IP地址控制访问

有时需要根据 IP 地址控制访问,以限制或引导某些访问请求。比如允许局域网段中的访客正常访问,但禁止外网访问。

假设有 IP 地址范围 192.168.0.0~192.168.0.255,只允许此 IP 段访问的代码如下:
<?php
$IP = $_SERVER['REMOTE_ADDR'];
$from = strcmp($IP,'192.168.0.0');
$to = strcmp($IP,'192.168.0.255');
if (!($from >= 0 && $to <= 0))
echo "Access Denied";
else
echo "Homepage";
?>

从流程上讲,这段代码首先捕获访客 IP 地址,然后判断该 IP 地址是否符合访问条件。符合则正常输出页面,反之拒绝访问。

据此,如果用户 IP 地址满足要求,只需简单输出或包含页面文件即可。文件包含代码如下:
<?php
if (!($from >= 0 && $to <= 0))
echo "Access Denied";
else
include('homepage.html')";
?>

当然,也可以按判断结果跳转至不同页面。跳转代码如下:
<?php
if (!($from >= 0 && $to <= 0))
header('Location: http://www.hopesun.info/404.html');
else
header('Location: http://www.hopesun.info/homepage.html');
?>

The Full Version: 根据IP地址控制访问

Tags: php


©HopeSun.info