当前位置:首页 » 编程语言 » php代理访问

php代理访问

发布时间: 2022-05-28 21:43:37

php代码如何放行代理服务器IP

<?php
//授权IP
$ips=['119.29.29.29','8.8.8.8'];
//代理IP直接退出
empty($_SERVER['HTTP_VIA'])orexit('AccessDenied');
//防止快速刷新
session_start();
$seconds='3';//时间段[秒]
$refresh='5';//刷新次数
//设置监控变量
$cur_time=time();
if(isset($_SESSION['last_time'])){
$_SESSION['refresh_times']+=1;
}else{
$_SESSION['refresh_times']=1;
$_SESSION['last_time']=$cur_time;
}
//处理监控结果
if($cur_time-$_SESSION['last_time']<$seconds){
if($_SESSION['refresh_times']>=$refresh&&!in_array($getIP,$ips)){
//跳转至攻击者服务器地址
header(sprintf('Location:%s','
));
exit('AccessDenied');
}
}else{
$_SESSION['refresh_times']=0;
$_SESSION['last_time']=$cur_time;
}

functiongetIP(){
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('HTTP_X_FORWARDED');
}elseif(getenv('HTTP_FORWARDED_FOR')){
$ip=getenv('HTTP_FORWARDED_FOR');

}elseif(getenv('HTTP_FORWARDED')){
$ip=getenv('HTTP_FORWARDED');
}else{
$ip=$_SERVER['REMOTE_ADDR'];
}

return$ip;
}

㈡ PHP怎么禁止代理访问

要禁止代理访问,首先你要分辨对方是否使用了代理。
一般来说可以直接通过HTTP协议头中的REMOTE_ADDR、HTTP_VIA、HTTP_X_FORWARDED_FOR来判断。
比如,没有使用代理的情况下,后两个一般是空的,第一个为真实IP;
而使用了一般的代理的话,前两个会变成代理的IP,而第三个则是真实IP。
如果使用了一般的匿名代理的话,则三个都会变为代理的IP。
如果使用了欺骗型的匿名代理的话,前两个还是代理的IP,而第三个会被伪造为一个随机的IP。
如果使用了高级匿名代理的话,后两个和没有代理一样,是空的,第一个则为代理IP。
以上,由于HTTP协议头是很容易伪造的,一般很难判断用户是否使用了代理的,因为现在绝大多数人都是用的匿名代理,而一般要真的通过上面的方式能检测到的,很可能是只能通过代理访问网络的人,比如局域网之类。
不过如果你会JS的话,可以参考一下WebRTC,这个是HTML5带的一个API,可以直接获取到真实IP,然后发送回服务器,再和REMOTE_ADDR比对一下,就可以准确知道是否使用了代理了(使用了代理,那WebRTC获取到的肯定是和REMOTE_ADDR不一样的)。但是这个办法也仅限于使用了新版浏览器的用户(必须支持WebRTC),并且没有装屏蔽WebRTC的插件(可以通过Chrome的插件来禁用WebRTC的,较旧的浏览器也可以在配置里停用WebRTC),并且,也不是完全不可以伪造,因为随便写个脚本放在浏览器里替换掉默认的WebRTC API,就可以提供一个虚假的IP(不过就目前来看还没人这么干,大多数都是想办法直接停用WebRTC),所以这个办法也不是100%可靠的。
如果你可以准确判断代理了,就简单了,直接在代码里面die;掉就行了。

㈢ PHP 函数代理调用

$args是参数数组,$args[0]就是第一个参数,这里把第一个参数作为函数名。
具体例子比如说这一句:
say('sayChinese', '我是','中国人'); //这里调用了函数say
function say() {
$args = func_get_args(); // 参数数组就是('sayChinese', '我是','中国人')
call_user_func_array($args[0], $args);
// 这个$args[0]就是'sayChinese',作为函数名,后面的'我是','中国人'作为参数传给函数'sayChinese'
}

㈣ php通过代理访问怎么实现

while (rs.next()) {
Bars bar = new Bars();
bar.setId(rs.getLong("id"));
bar.setName(rs.getString("name"));
bar.setType(rs.getInt("type"));
bar.setCreatorId(rs.getLong("creator_id"));
resultList.add(bar);
}

㈤ php如何用代理访问网站 求代码

CURL 就可以啊!你的先自己开个http代理 。或者网络找一些http代理

然后在curl里面设置http代理就可以了。

functioncurl_string($url,$user_agent,$proxy){
$ch=curl_init();
curl_setopt($ch,CURLOPT_PROXY,$proxy);
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_USERAGENT,$user_agent);
curl_setopt($ch,CURLOPT_COOKIEJAR,"c:cookie.txt");//可删除
curl_setopt($ch,CURLOPT_HEADER,1);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch,CURLOPT_FOLLOWLOCATION,1);
curl_setopt($ch,CURLOPT_TIMEOUT,120);
$result=curl_exec($ch);
curl_close($ch);
return$result;

}
$content="http://www.google.com";$user_agent="Mozilla/4.0";$proxy="http://192.11.222.124:8000";

㈥ PHP虚拟空间是否可以实现自动透过指定代理服务器被访问者访问

虚拟空间实现不了

你的访问端→web→代理服务器→返回到WEB→返回访问端

㈦ PHP实现代理IP

“代理IP”现在有很多种的,就是软件改IP的。
软件上有很多IP点提供给使用者切换的
在电脑上安装IP转换器,
在IP软件上选择不同的IP点连接就可以了的。
推荐软件。可找到类似软件的。
全国大多数城市(数百万IP点任意切换)
希望可以帮到你。多少电脑多可以使用的。

㈧ 有没有办法实现PHP代理抓取网页内容

可以呀。

用snoopy的类,网上有snoopy.class.php,你自行网络查找。
snoopy的类可以设置$proxy_host参数,设置代理主机,$proxy_port是代理主机端口。你下载一个下来,网上的教程很多,看看应该明白。

至于调用proxy.txt,轮换ip的问题,我觉得可用代理不是很多的话,可以设置成随机选择代理就好了。你采集的那个网站记录的是你代理服务器的ip

㈨ 怎么样用php语言实现通过proxy代理服务器访问网站呢

function curl_string ($url,$timeout = 3,$proxy=1){
$ua = array('Mozilla','Opera','Microsoft Internet Explorer','ia_archiver');
$op = array('Windows','Windows XP','Linux','Windows NT','Windows 2000','OSX');
$agent = $ua[rand(0,3)].'/'.rand(1,8).'.'.rand(0,9).' ('.$op[rand(0,5)].' '.rand(1,7).'.'.rand(0,9).'; en-US;)';
Tor 地址与端口
$tor = 'http://www.aimilife.com'; //这里是你的代理服务器
连接超时设置
$timeout = 3;
$ack = curl_init();
if($proxy)
{
curl_setopt($ack, CURLOPT_PROXY, $tor);
}
curl_setopt($ack, CURLOPT_URL, $url);
curl_setopt($ack, CURLOPT_HEADER, 0);
curl_setopt($ack, CURLOPT_USERAGENT, $agent);
curl_setopt($ack, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ack, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ack, CURLOPT_TIMEOUT, $timeout);
$result = curl_exec($ack);
curl_close($ack);
return $result;

}

㈩ 如何利用php获取url反向代理后面的真实地址

下面的代码用于获得真实的客户端ip,俗话说,道高一尺魔高一丈,更高级的伪装能够骗过这种检测也有可能,不过至少让伪装的门槛提高不少。

function getip() {

$unknown = 'unknown';

if ( isset($_SERVER['HTTP_X_FORWARDED_FOR']) && $_SERVER['HTTP_X_FORWARDED_FOR'] && strcasecmp($_SERVER['HTTP_X_FORWARDED_FOR'], $unknown) ) {

$ip = $_SERVER['HTTP_X_FORWARDED_FOR'];

} elseif ( isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], $unknown) ) {

$ip = $_SERVER['REMOTE_ADDR'];

}

/*

处理多层代理的情况

或者使用正则方式:$ip = preg_match("/[\d\.]{7,15}/", $ip, $matches) ? $matches[0] : $unknown;

*/

if (false !== strpos($ip, ','))

$ip = reset(explode(',', $ip));

return $ip;

}
需要做下简单解释:
一、没有使用代理服务器的PHP获取客户端IP情况:
REMOTE_ADDR = 客户端IP
HTTP_X_FORWARDED_FOR = 没数值或不显示
二、使用透明代理服务器的情况:Transparent Proxies
REMOTE_ADDR = 最后一个代理服务器 IP
HTTP_X_FORWARDED_FOR = 客户端真实 IP (经过多个代理服务器时,这个值类似:221.5.252.160, 203.98.182.163, 203.129.72.215)
这类代理服务器还是将客户端真实的IP发送给了访问对象,无法达到隐藏真实身份的目的.
三、使用普通匿名代理服务器的PHP获取客户端IP情况:Anonymous Proxies
REMOTE_ADDR = 最后一个代理服务器 IP
HTTP_X_FORWARDED_FOR = 代理服务器 IP (经过多个代理服务器时,这个值类似:203.98.182.163, 203.98.182.163, 203.129.72.215)
这种情况下隐藏了客户端的真实IP,但是向访问对象透露了客户端是使用代理服务器访问它们的.
四、使用欺骗性代理服务器的情况:Distorting Proxies
REMOTE_ADDR = 代理服务器 IP
HTTP_X_FORWARDED_FOR = 随机的 IP(经过多个代理服务器时,这个值类似:220.4.251.159, 203.98.182.163, 203.129.72.215)
这种情况下同样透露了客户端是使用了代理服务器,但编造了一个虚假的随机IP(220.4.251.159)代替客户端的真实IP来欺骗它.
五、使用高匿名代理服务器的PHP获取客户端IP情况:High Anonymity Proxies (Elite proxies)
REMOTE_ADDR = 代理服务器 IP
HTTP_X_FORWARDED_FOR = 没数值或不显示
无论是REMOTE_ADDR还是HTTP_FORWARDED_FOR,这些头消息未必能够取得到,因为不同的浏览器不同的网络设备可能发送不同的IP头消息.因此PHP使用$_SERVER["REMOTE_ADDR"] 、$_SERVER["HTTP_X_FORWARDED_FOR"] 获取的值可能是空值也可能是“unknown”值.

热点内容
编程题解析 发布:2025-02-12 08:40:30 浏览:453
bilibi手机缓存目录在 发布:2025-02-12 08:33:11 浏览:457
听ti密码是多少 发布:2025-02-12 08:22:15 浏览:288
淘宝上传视频凭证 发布:2025-02-12 08:06:46 浏览:878
java画 发布:2025-02-12 08:01:00 浏览:549
光遇安卓官服是在哪里下载 发布:2025-02-12 07:47:47 浏览:648
安卓手机如何关闭程序打开广告 发布:2025-02-12 07:31:06 浏览:469
新版影视大全不能缓存 发布:2025-02-12 07:31:04 浏览:976
sql两个字段in 发布:2025-02-12 07:29:45 浏览:771
漂亮网站源码 发布:2025-02-12 07:26:40 浏览:760