-
09-06
-
12-27
-
01-08
-
12-31
-
12-31
PHP模拟IP和来源进行访问
发布时间:2021-01-08 11:58:36
文章来源:原创
访问次数:7
对于限制了 ip 和来源的网站,使用正常的访问方式是无法访问的。
偶然看到的一种方法,记下了(๑•̀ㅁ•́ฅ)
使用 php 的 curl 类实现模拟 ip 和来源,访问那些限制了 ip 和来源的网站。
设置限制页面 server.php
<?php $get_ip = getip();//获取访问者ip $referer = getreferer();//获取访问者来源 $allow_ip = '172.1.1.1';//设置指定IP用户 $allow_referer = 'https://www.lykep.com/';//设置指定来源用户 if($get_ip==$allow_ip && strpos($referer, $allow_referer)===0){ echo 'Welcome from https://www.lykep.com/ the friend'; }else{ echo 'Welcome '.getreferer()." friend"; } //获取访问者ip function getip(){ if(!empty($_SERVER['HTTP_CLIENT_IP'])){ $ip = $_SERVER['HTTP_CLIENT_IP']; }elseif(!empty($_SERVER['HTTP_X_FORWARDED_FOR'])){ $ip = $_SERVER['HTTP_X_FORWARDED_FOR']; }elseif(!empty($_SERVER['REMOTE_ADDR'])){ $ip = $_SERVER['REMOTE_ADDR']; }else{ $ip = ''; } return $ip; } //获取访问者来源 function getreferer(){ if(isset($_SERVER['HTTP_REFERER'])){ return $_SERVER['HTTP_REFERER']; } return ''; } ?>
使用 curl 模拟 ip 和来源进行访问
<?php function startCurl($url, $data=array(), $header=array(), $referer, $timeout){ $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_HTTPHEADER, $header);//模拟IP curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data)); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_TIMEOUT, $timeout); // 模拟来源 curl_setopt($ch, CURLOPT_REFERER, $referer); $result = curl_exec($ch); if($error=curl_error($ch)){ die($error); } curl_close($ch); return $result; } //调用 $url = 'http://xx.xx/server.php'; $data = array(); //设置IP $header = array( 'CLIENT-IP: 172.1.1.1', 'X-FORWARDED-FOR: 172.1.1.1' ); //设置来源 $referer = 'https://www.lykep.com/'; //开始执行 $result = startCurl($url,$data,$header,$referer,5); echo $result; ?>
本文链接:http://www.hzlm.net/php/63.html
文章评论
共 0 条评论,查看全部
- 这篇文章还没有收到评论,赶紧来抢沙发吧~
最新资讯