導航:首頁 > IDC知識 > 用php伺服器ip的代碼

用php伺服器ip的代碼

發布時間:2021-02-11 10:17:42

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]

與用php伺服器ip的代碼相關的知識