PHP 根据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.jb51.net/404.html');
else
header('Location: http://www.jb51.net/index.html');
?>

(0)

相关推荐

  • PHP 获取客户端真实IP地址多种方法小结

    经过复杂的判断与算是的获取IP地址函数 复制代码 代码如下: function getIP() { if (getenv('HTTP_CLIENT_IP')) { $ip = getenv('HTTP_CLIENT_IP'); } elseif (getenv('HTTP_X_FORWARDED_FOR')) { $ip = getenv('HTTP_X_FORWARDED_FOR'); } elseif (getenv('HTTP_X_FORWARDED')) { $ip = getenv('

  • PHP获取用户访问IP地址的5种方法

    本文实例为大家分享了5种PHP获取用户访问IP地址的方法,供大家参考,具体内容如下 <?php //方法1: $ip = $_SERVER["REMOTE_ADDR"]; echo $ip; //方法2: $user_IP = ($_SERVER["HTTP_VIA"]) ? $_SERVER["HTTP_X_FORWARDED_FOR"] : $_SERVER["REMOTE_ADDR"]; $user_IP = ($

  • PHP中IP地址与整型数字互相转换详解

    IP转换成整型存储是数据库优化一大趋势,不少人目前存储IP时还在使用字符串类型存储,字符串索引比整型索引消耗资源很多,特别是表中数据量大的时候,以及求查询某一个ip段的数据,今天说的ip是指ip4,ip6不在本文范围内. 系统函数ip2long与long2ip PHP中有内置函数ip2long可以将ip地址转换整型. 复制代码 代码如下: $ip = '210.110.11.49'; echo ip2long($ip); 输出: 复制代码 代码如下: -764540111 输出的整型有负号是因为

  • PHP中根据IP地址判断城市实现城市切换或跳转代码

    获取IP地址 复制代码 代码如下: <?phpfunction GetIP() {    if ($_SERVER["HTTP_X_FORWARDED_FOR"])        $ip = $_SERVER["HTTP_X_FORWARDED_FOR"];    else if ($_SERVER["HTTP_CLIENT_IP"])        $ip = $_SERVER["HTTP_CLIENT_IP"];  

  • php中获取远程客户端的真实ip地址的方法

    (1).REMOTE_ADDR:浏览当前页面的用户计算机的ip地址 (2).HTTP_X_FORWARDED_FOR: 浏览当前页面的用户计算机的网关 (3).HTTP_CLIENT_IP:客户端的ip 在PHP 中使用 $_SERVER["REMOTE_ADDR"] 来取得客户端的 IP 地址,但如果客户端是使用代理服务器来访问,那取到的就是代理服务器的 IP 地址,而不是真正的客户端 IP 地址.要想透过代理服务器取得客户端的真实 IP 地址,就要使用 $_SERVER["

  • php gethostbyname获取域名ip地址函数详解

    返回 IP 网址. gethostbyname语法: string gethostbyname(string hostname); gethostbyname返回值: 字符串 函数种类: 网络系统 gethostbyname内容说明 本函数可返回某个机器名称 (Domain Name) 的 IP 网址 (IP Address).若执行失败,则返回原来的机器名称. 使用范例 下例的gethostbyname返回值为 61.129.70.67 <? echo gethostbyaddr("ww

  • php实现获取局域网所有用户的电脑IP和主机名、及mac地址完整实例

    本文所述php实例可以完成获取局域网所有用户的电脑IP和主机名.及mac地址的功能,对于php程序设计人员有一定的参考借鉴价值.完整代码如下: <?php $bIp = gethostbyname($_ENV['COMPUTERNAME']); //获取本机的局域网IP echo "本机IP:",$bIp,"\n"; echo "本机主机名:",gethostbyaddr($bIp),"\n\n\n"; //gethos

  • PHP准确取得服务器IP地址的方法

    本文实例讲述了PHP准确取得服务器IP地址的方法.分享给大家供大家参考.具体分析如下: 在php中,我们一般通过$_SERVER['HTTP_HOST']来活得URL中网站的域名或者ip地址. php手册中的解释如下: "HTTP_HOST" 当前请求的 Host: 头信息的内容. 一般来说,这样子不会遇到什么问题,在一些常见的php框架中,如PFC3和FLEA也是基于该预定义变量. 然而最近在做的一个项目,程序移交到客户手里测试时,竟然发现程序的跳转总是会出错. 最后找出原因:$_S

  • php获得用户ip地址的比较不错的方法

    REMOTE_ADDR只能获取访问者本地连接中设置的IP,如某大学校园网中自己设置的10.X.XXX.XXX系列IP,而这个函数获取的是局域网网关出口的IP地址,如果访问者使用代理服务器,将不获取代理服务器的IP,而是获取访问者网关的真实IP.如果将这个函数应用到限IP访问的网页中,别人即使通过限IP访问段中的代理服务器,也不能访问该页面. 下面提供一个函数: 复制代码 代码如下: <?php // 定义一个函数getIP() function getIP() { global $ip; if

  • php下获取客户端ip地址的函数

    复制代码 代码如下: function getip() { $IP=getenv('REMOTE_ADDR'); $IP_ = getenv('HTTP_X_FORWARDED_FOR'); if (($IP_ != "") && ($IP_ != "unknown")) $IP=$IP_; return $IP; } 下面这个比较好的 复制代码 代码如下: function getIP() { if (isset($_SERVER)) { if (

随机推荐