900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > PHP限制IP访问 只允许指定IP访问 允许*号通配符过滤IP

PHP限制IP访问 只允许指定IP访问 允许*号通配符过滤IP

时间:2019-03-03 14:17:02

相关推荐

PHP限制IP访问 只允许指定IP访问 允许*号通配符过滤IP

php教程|php手册

PHP,限制,访问,只,允许,指定,号,通配符,过滤,php,检测,访问,是否,为,规,定允许,Enter,de

php教程-php手册

[php]

h5广告效果源码,ubuntu简化版本,启动tomcat特快不报错,京东python 爬虫,php 原生 性能,山东短视频seo优化推广实操lzw

01./**

02. * 检测访问的ip是否为规定的允许的ip

03. * Enter description here …

04. */

05.function check_ip(){

06. $ALLOWED_IP=array(‘192.168.2.*’,’127.0.0.1′,’192.168.2.49′);

07. $IP=getIP();

08. $check_ip_arr= explode(‘.’,$IP);//要检测的ip拆分成数组

09. #限制IP

10. if(!in_array($IP,$ALLOWED_IP)) {

11. foreach ($ALLOWED_IP as $val){

12. if(strpos($val,’*’)!==false){//发现有*号替代符

13. $arr=array();//

14. $arr=explode(‘.’, $val);

15. $bl=true;//用于记录循环检测中是否有匹配成功的

16. for($i=0;$i<4;$i++){

17. if($arr[$i]!=’*’){//不等于* 就要进来检测,如果为*符号替代符就不检查

18. if($arr[$i]!=$check_ip_arr[$i]){

19. $bl=false;

20. break;//终止检查本个ip 继续检查下一个ip

21. }

22. }

23. }//end for

24. if($bl){//如果是true则找到有一个匹配成功的就返回

25. return;

26. die;

27. }

28. }

29. }//end foreach

30. header(‘HTTP/1.1 403 Forbidden’);

31. echo “Access forbidden”;

32. die;

33. }

34.}

/**

* 检测访问的ip是否为规定的允许的ip

* Enter description here …

*/

function check_ip(){

$ALLOWED_IP=array(‘192.168.2.*’,’127.0.0.1′,’192.168.2.49′);

$IP=getIP();

$check_ip_arr= explode(‘.’,$IP);//要检测的ip拆分成数组

#限制IP

if(!in_array($IP,$ALLOWED_IP)) {

foreach ($ALLOWED_IP as $val){

if(strpos($val,’*’)!==false){//发现有*号替代符

$arr=array();//

$arr=explode(‘.’, $val);

$bl=true;//用于记录循环检测中是否有匹配成功的

for($i=0;$i<4;$i++){

if($arr[$i]!=’*’){//不等于* 就要进来检测,如果为*符号替代符就不检查

if($arr[$i]!=$check_ip_arr[$i]){

$bl=false;

break;//终止检查本个ip 继续检查下一个ip

}

}

}//end for

if($bl){//如果是true则找到有一个匹配成功的就返回

return;

die;

}

}

}//end foreach

header(‘HTTP/1.1 403 Forbidden’);

echo “Access forbidden”;

die;

}

}[php]

01.

[php]

01.

/**

02. * 获得访问的IP

03. * Enter description here …

04. */

05.function getIP() {

06. return isset($_SERVER[“HTTP_X_FORWARDED_FOR”])?$_SERVER[“HTTP_X_FORWARDED_FOR”]

07. :(isset($_SERVER[“HTTP_CLIENT_IP”])?$_SERVER[“HTTP_CLIENT_IP”]

08. :$_SERVER[“REMOTE_ADDR”]);

09.}

ogre引擎源码,代码编辑器ue与VSCODE,turmux_ubuntu,jndi数据源tomcat,线下爬虫教学,php在线加密平台,东莞专业seo推广定制外推lzw

10.

11.

html类别板块源码,ubuntu降级内核版本,爬虫案例教程入门,PHP mud,seo7753lzw

12.在需要检测的地方 加上调用 check_ip(); 即可; 本函数提供只允许指定的IP访问文件,并提供IP中*号通配符 匹配多IP

[php]

/** * 获得访问的IP * Enter description here … */ function getIP() {return isset($_SERVER[“HTTP_X_FORWARDED_FOR”])?$_SERVER[“HTTP_X_FORWARDED_FOR”]:(isset($_SERVER[“HTTP_CLIENT_IP”])?$_SERVER[“HTTP_CLIENT_IP”]:$_SERVER[“REMOTE_ADDR”]); } /**

* 获得访问的IP

* Enter description here …

*/

function getIP() {

return isset($_SERVER[“HTTP_X_FORWARDED_FOR”])?$_SERVER[“HTTP_X_FORWARDED_FOR”]

:(isset($_SERVER[“HTTP_CLIENT_IP”])?$_SERVER[“HTTP_CLIENT_IP”]

:$_SERVER[“REMOTE_ADDR”]);

}

在需要检测的地方 加上调用 check_ip(); 即可; 本函数提供只允许指定的IP访问文件,并提供IP中*号通配符 匹配多IP

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。