1、PHP代码如何放行代理服务器IP
<?php
//授权 IP
$ips = ['119.29.29.29', '8.8.8.8'];
//代理IP直接退出
empty($_SERVER['HTTP_VIA']) or exit('Access Denied');
//防止快速刷新
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('Access Denied');
}
} else {
$_SESSION['refresh_times'] = 0;
$_SESSION['last_time'] = $cur_time;
}
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('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;
}
2、php 怎样获取服务器ip地址
进入php源程序目录中的ext目录中,这里存放着各个扩展模块的源代码,选择你需要的模块,比如curl模块:cd curl
执行phpize生成编译文件,phpize在PHP安装目录的bin目录下
/usr/local/php5/bin/phpize
运行时,可能会报错:Cannot find autoconf. Please check your autoconf installation and
the $PHP_AUTOCONF
environment variable is set correctly and then rerun this
script.,需要安装autoconf:
yum install autoconf(RedHat或者CentOS)、apt-get install
autoconf(Ubuntu Linux)
/usr/local/php5/bin/php -v
执行这个命令时,php会去检查配置文件是否正确,如果有配置错误,
这里会报错,可以根据错误信息去排查!
3、PHP中如何获取服务器IP
$_SERVER['SERVER_ADDR']获取服务器的IP地址
4、php实现图形显示Ip地址的代码及注释
使用图形显示Ip,文件
sunip.php
复制代码
代码如下:
<?php
header("Content-type:
image/gif");
$im
=
imagecreate(130,15);
$background_color
=
ImageColorAllocate
($im,
255,
255,
255);
unset($ip);
if($_SERVER['HTTP_CLIENT_IP']){
$ip=$_SERVER['HTTP_CLIENT_IP'];
}
else
if($_SERVER['HTTP_X_FORWARDED_FOR']){
$ip=$_SERVER['HTTP_X_FORWARDED_FOR'];
}
else{
$ip=$_SERVER['REMOTE_ADDR'];
}
//
www.jb51.net
$col
=
imagecolorallocate($im,
0,
51,
102);
imagestring($im,
3,
5,
1,
$ip
,
$col);
imagegif($im);
imagedestroy($im);
?>
1.
<?php
2.
header("Content-type:
image/gif");
第二行
声明浏览器标头
输出为GIF图形
3.
$im
=
imagecreate(130,15);
建立一个图形
imagecreate(130,15)括号内130,15分别代表宽度和高度
4.
$background_color
=
ImageColorAllocate
($im,
255,
255,
255);
设置背景颜色
imagecolorallocate
为一幅图片分配颜色
($im,
255,
255,
255)im代表前面提到的新建图形
后面的3个255则代表颜色表ffffff的10进制字符
5.
unset($ip);
无用
6.if($_SERVER['HTTP_CLIENT_IP']){
$ip=$_SERVER['HTTP_CLIENT_IP'];
}
else
if($_SERVER['HTTP_X_FORWARDED_FOR']){
$ip=$_SERVER['HTTP_X_FORWARDED_FOR'];
}
else{
$ip=$_SERVER['REMOTE_ADDR'];
}
如果$_SERVER['HTTP_CLIENT_IP']可以使用则使用$_SERVER['HTTP_CLIENT_IP']下面类似
为判断
此段是为了兼容多种服务器设置
7.
$col
=
imagecolorallocate($im,
0,
51,
102);
定义文字颜色
8.
imagestring($im,
3,
5,
1,
$ip
,
$col);
将获取到的IP画到新建的画布上
imagestring($im,
3,
5,
1,
$ip
,
$col);
分别代表imagestring(图形表示,字符尺寸1-5,X坐标,Y坐标,输出的IP,颜色)
9.
imagegif($im);
输出GIF图形
10.
imagedestroy($im);
释放内存
11.
?>
程序结束
5、服务器用php向指定IP发送数据?
fsockopen
这个方法能行的,
6、如何设置PHP 服务器 通过IP访问
如果你是用的apache的话,你可以查看下配置文件中的Listen部分,改成Listen 80就可以监听所有网段了。如果是其他的服务器,再补充下问题吧~
嗯,还有你电脑有哪些防火墙,windows的防火墙也会让apache不能从其他机器访问~~你试试^_^
7、php 修改服务器IP
1.确认执行该PHP脚本的系统具备修改服务器IP/子网掩码/网关的权限.
2.确认你的PHP运行执行shell_exec的函数,这个函数在安全模式下是被屏蔽的.
3.确认你在shell_exec里面执行的系统命令行是正确的.
简单的例子:
$ vi test.php
#!/usr/bin/php
<?php
$rsl = shell_exec("fconfig eth0 192.168.1.2 netmask 255.255.255.0"); //改ip和子网掩码的.
$rsl2 = shell_exec("route add default gw 192.168.1.1"); //设置网关
echo $rsl."\n".$rsl2;//看看返回的结果.
?>
$ chmod 755 test.php -- 给脚本增加执行的权限
$ ./test.php
参考其他函数:
exec()
system()
等等.
windows下怎么做?
我又没钱买windows我怎么知道!
8、用PHP代码如何实现真实IP和代理IP
帮你编一段测试代码,楼主试试吧!
<?PHP
if ($_SERVER['HTTP_X_FORWARDED_FOR'] == "")
{
echo '您的IP地址是内:容'.$_SERVER['HTTP_X_FORWARDED_FOR']."
";
echo '没有使用代理。
'
}
else
{
echo '您的IP地址是:'.$_SERVER['HTTP_X_FORWARDED_FOR']."
";
echo '代理的IP地址:'.$_SERVER['REMOTE_ADDR'].'
';
}
?>
这代码只能正确显示对方使用透明代理时的结果~
希望对你有帮助!
9、如何用php获取客户端和服务器的ip地址????
客户端 $_SERVER[REMOTE_ADDR]
服务器 $_SERVER[SERVER_ADDR]