用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).