怎样去控制一个页面只能在局域网内查看,到外面就不能浏览啊 限制IP段.返回的IP为外网的就转到出错的页面. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 如果局域网是一个IP段,写一个函数,就是将ip转化为十进制整数,比较大小判断!ip转化为整数思路:a.b.c.d将a,b,c,d分别转化为十六进制数,然后合并起来,转化为十进制比较如:192.168.0.1c0 a8 00 01c0a80001=3232235521这样判断就比较方便了! <?php$expip=explode(".",$_SERVER['REMOTE_ADDR']);$pp=expip[0].expip[1].expip[2];if ($pp != "1921680") die("你是非法访问!");?>虽然 confu(PHP→Java) ( ) 的做法是正确的,但是有片面性我这样做的原因: 因为局域网也可以设置像 221.210.222.230 地址,一般局域网前三段是固定的,只有后一位是活动的 (如果是分网段的局域网的话,可能后两段可以动) 这样就可以通过比较访问机器的前多少位地址来判断是否是本局域网内的。。 也许我的说法也欠妥,还请高手指教 不用这么复杂吧,在apache里面设置不是更容易些么? 用ip地址限很难保证的,这种东西都是在防火墙实现的,可以是软件,也可以是硬件,如果真的没办法,可以在apache里面设置,将三个内网段全列出来,禁止访问,就可以了 ip2long是什么啊,手册上英文看不懂 请注意!楼主是说“怎样去控制一个页面只能在局域网内查看,到外面就不能浏览啊”并不是要不能浏览其他页面即便设置防火墙或web服务器可以阻止公网访问一个页面,但若需要阻止多个页面时有该如何做呢?枚举吗?无论局域网采用什么ip段,这都是在你掌握中的。所以判断起来很简单只需在需要限制访问的页面中加入以下代码即可:<?php$ip_start = ""; //局域网起始ip$ip_end = ""; //局域网终止ip$ip = $_SERVER['REMOTE_ADDR']; //来访者的ipif(!(ip2long($ip_start) <= ip2long($ip) && ip2long($ip) <= ip2long($ip_end))) { dir("对不起,您无权查看此页!");}?>.....正常的页面内容 dir("对不起,您无权查看此页!");是什么意思 config.php-----------------ip = array("1.1.1.1", '1.1.1.2');if(!in_array('访问者ip', $ips)) die("visit deny");-----------------要限制访问的页面都include conig.php就可以了 呵呵xu老师指头跳得太快了改:dir("对不起,您无权查看此页!"); => die ("对不起,您无权查看此页!"); sql语句执行非常慢,高手请指点 php结合ajax的一个小游戏 如何在Windows2003架设PHP服务器? 怎样得到子串中的这个值 网站目录结构的问题 求助PHP 和 Flash 交互问题 要学php了,谁能段MVC模式的php代码? 如何提交PHP创建的变量 Emmet 的自定义:比如输入 vd 按下快捷键,输出 var_dump( ); PHP分页问题 PHP和ASP能否在APACHE下共存 初学session.请大家帮忙 马上结帖!
ip转化为整数思路:
a.b.c.d
将a,b,c,d分别转化为十六进制数,然后合并起来,转化为十进制比较如:192.168.0.1
c0 a8 00 01
c0a80001=3232235521
这样判断就比较方便了!
$expip=explode(".",$_SERVER['REMOTE_ADDR']);
$pp=expip[0].expip[1].expip[2];
if ($pp != "1921680") die("你是非法访问!");
?>
虽然 confu(PHP→Java) ( ) 的做法是正确的,但是有片面性
我这样做的原因:
因为局域网也可以设置像 221.210.222.230 地址,一般局域网前三段是固定的,只有后一位是活动的
(如果是分网段的局域网的话,可能后两段可以动)
这样就可以通过比较访问机器的前多少位地址来判断是否是本局域网内的。。
也许我的说法也欠妥,还请高手指教
如果真的没办法,可以在apache里面设置,将三个内网段全列出来,禁止访问,就可以了
并不是要不能浏览其他页面
即便设置防火墙或web服务器可以阻止公网访问一个页面,但若需要阻止多个页面时有该如何做呢?枚举吗?
无论局域网采用什么ip段,这都是在你掌握中的。所以判断起来很简单
只需在需要限制访问的页面中加入以下代码即可:
<?php
$ip_start = ""; //局域网起始ip
$ip_end = ""; //局域网终止ip
$ip = $_SERVER['REMOTE_ADDR']; //来访者的ip
if(!(ip2long($ip_start) <= ip2long($ip) && ip2long($ip) <= ip2long($ip_end))) {
dir("对不起,您无权查看此页!");
}
?>
.....正常的页面内容
是什么意思
-----------------
ip = array("1.1.1.1", '1.1.1.2');
if(!in_array('访问者ip', $ips)) die("visit deny");
-----------------
要限制访问的页面都include conig.php就可以了
xu老师指头跳得太快了改:dir("对不起,您无权查看此页!"); => die ("对不起,您无权查看此页!");