用php服务器ip的代码
A. php 怎么获取服务器端ip地址
<?php
functiongetIp()
{
$IPaddress='';
if(isset($_SERVER)){
if(isset($_SERVER["HTTP_X_FORWARDED_FOR"])){
$IPaddress=$_SERVER["HTTP_X_FORWARDED_FOR"];
}elseif(isset($_SERVER["HTTP_CLIENT_IP"])){
$IPaddress=$_SERVER["HTTP_CLIENT_IP"];
}else{
$IPaddress=$_SERVER["REMOTE_ADDR"];
}
}else{
if(getenv("HTTP_X_FORWARDED_FOR")){
$IPaddress=getenv("HTTP_X_FORWARDED_FOR");
}elseif(getenv("HTTP_CLIENT_IP")){
$IPaddress=getenv("HTTP_CLIENT_IP");
}else{
$IPaddress=getenv("REMOTE_ADDR");
}
}
return$IPaddress;
}
echogetIp();//就可以输出用户的IP地址。
?>
获取服务器端ip地址
<?php
functionserverIp(){
if(isset($_SERVER)){
if($_SERVER['SERVER_ADDR']){
$server_ip=$_SERVER['SERVER_ADDR'];
}else{
$server_ip=$_SERVER['LOCAL_ADDR'];
}
}else{
$server_ip=getenv('SERVER_ADDR');
}
return$server_ip;
}
echoserverIp();
?>
此方法在本地不可用。需要上传至服务器
如果在本地使用此方法 打印出来的是127.0.0.1
希望对你有帮助
B. PHP获取客户端外网ip代码
function get_real_ip()
{
$ip=FALSE;
//客户端IP 或 NONE
if(!empty($_SERVER["HTTP_CLIENT_IP"])){
$ip = $_SERVER["HTTP_CLIENT_IP"];
}
//多重代理服务器下的客户端真实IP地址(可能伪造),如果没有使用代理,此字段为空
if (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
$ips = explode (", ", $_SERVER['HTTP_X_FORWARDED_FOR']);
if ($ip) { array_unshift($ips, $ip); $ip = FALSE; }
for ($i = 0; $i < count($ips); $i++) {
if (!eregi ("^(10│172.16│192.168).", $ips[$i])) {
$ip = $ips[$i];
break;
}
}
}
//客户端IP 或 (最后一个)代理服务器 IP
return ($ip ? $ip : $_SERVER['REMOTE_ADDR']);
}
C. PHP 根据IP地址控制访问的代码
假设有
IP
地址范围
192.168.0.0~192.168.0.255,只允许此
IP
段访问的代码如下:
复制代码
代码如下:
<?php
$IP
=
$_SERVER['REMOTE_ADDR'];
$from
=
strcmp($IP,'192.168.0.0');
$to
=
strcmp($IP,'192.168.0.255');
if
(!($from
>=
0
&&
$to
<=
0))
echo
"Access
Denied";
else
echo
"Homepage";
?>
从流程上讲,这段代码首先捕获访客
IP
地址,然后判断该
IP
地址是否符合访问条件。符合则正常输出页面,反之拒绝访问。
据此,如果用户
IP
地址满足要求,只需简单输出或包含页面文件即可。文件包含代码如下:
复制代码
代码如下:
<?php
if
(!($from
>=
0
&&
$to
<=
0))
echo
"Access
Denied";
else
include('homepage.html')";
?>
当然,也可以按判断结果跳转至不同页面。跳转代码如下:
复制代码
代码如下:
<?php
if
(!($from
>=
0
&&
$to
<=
0))
header('Location:
http://www.jb51.net/404.html');
else
header('Location:
http://www.jb51.net/index.html');
?>
D. PHP中如何获取服务器ip
$_SERVER['SERVER_ADDR']获取服务器的IP地址
E. php获取本机真实IP地址实例代码
本文实例为大家分享了php获取本机真实IP地址实例代码,供大家参考。
主要是获取操作系统为win2000/xp、win7的本机IP真实地址,和获取操作系统为linux类型的本机IP真实地址,具体内容如下
function
getLocalIP()
{
$preg
=
"/\A((([0-9]?[0-9])|(1[0-9]{2})|(2[0-4][0-9])|(25[0-5]))\.){3}(([0-9]?[0-9])|(1[0-9]{2})|(2[0-4][0-9])|(25[0-5]))\Z/";
//获取操作系统为win2000/xp、win7的本机IP真实地址
exec("ipconfig",
$out,
$stats);
if
(!empty($out))
{
foreach
($out
AS
$row)
{
if
(strstr($row,
"IP")
&&
strstr($row,
":")
&&
!strstr($row,
"IPv6"))
{
$tmpIp
=
explode(":",
$row);
if
(preg_match($preg,
trim($tmpIp[1])))
{
return
trim($tmpIp[1]);
}
}
}
}
//获取操作系统为linux类型的本机IP真实地址
exec("ifconfig",
$out,
$stats);
if
(!empty($out))
{
if
(isset($out[1])
&&
strstr($out[1],
'addr:'))
{
$tmpArray
=
explode(":",
$out[1]);
$tmpIp
=
explode("
",
$tmpArray[1]);
if
(preg_match($preg,
trim($tmpIp[0])))
{
return
trim($tmpIp[0]);
}
}
}
return
'127.0.0.1';
}
以上就是本文的全部内容,希望对大家的学习有所帮助。
F. 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.
?>
程序结束
G. 用php来获得客户端服务器ip的方法
<?php
echo
"当前脚本服务器的主机名:".gethostbyaddr($_SERVER['REMOTE_ADDR'])."<br
/><hr
/>";
echo
"获得当前运行PHP脚本(页面)所在的服务器的
IP
地址:".$_SERVER['SERVER_ADDR']."<br
/><hr
/>";
echo
"获得当前运行PHP脚本(页面)所在的服务器的
主机名:".$_SERVER['SERVER_NAME'];
echo
'<hr>';
echo
'客户端ip'.
$_SERVER['REMOTE_ADDR'];
echo
'<br>';
echo
'客户端ip'.getenv('REMOTE_ADDR');
echo
"<br>";
echo
'服务器主机ip'.gethostbyname("www.qq.com");
?>
运行出来:
当前脚本服务器的主机名:XYL-PC
获得当前运行PHP脚本(页面)所在的服务器的
IP
地址:127.0.0.1
获得当前运行PHP脚本(页面)所在的服务器的
主机名:localhost
客户端ip127.0.0.1
客户端ip127.0.0.1
服务器主机ip61.135.169.105
H. 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我怎么知道!
I. 求一段PHP限制IP及IP段访问的代码,拜托了。。
正确代码
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
J. 如何用 PHP 来获取客户端 IP 和 服务器的 IP
来看看代码:
echo"(1)浏览当前页面的用户的IP地址为:";
echo$_SERVER['REMOTE_ADDR'];
echo"
";
echo"(2)浏览当前页面的用户的IP地址为:";
echogetenv('REMOTE_ADDR');
echo"
";
echo"主机www..com的IP地址为:";
echogethostbyname(www..com);
2
它的输出结果为:
(1)浏览当前页面的用户的IP地址为:127.0.0.1
(2)浏览当前页面的用户的IP地址为:127.0.0.1
主机www..com的IP地址为:61.135.169.105
3
关于获取客户端的IP地址,有俩方法:
第一个是使用:
$_SERVER['REMOTE_ADDR']
它正在浏览当前页面用户的IP地址,这里的输出结果为127.0.0.1,因为这是在本地测试,输出的是我本地的环路地址。
第俩个是使用:
getenv('REMOTE_ADDR')
这里使用了函数getenv:(得到各种环境变量的值),返回值:,orFALSEonanerror(失败的话返回FALSE).