導航:首頁 > 編程語言 > PHP伺服器IP代碼

PHP伺服器IP代碼

發布時間:2022-05-29 13:20:56

1. 用php寫出顯示客戶端IP與伺服器IP的代碼

伺服器IP用:
echo(gethostbyname($SERVER_NAME));
客戶端IP用下面函數:
function iptype1 () {
if (getenv("HTTP_CLIENT_IP")) {
return
getenv("HTTP_CLIENT_IP");
}
else {
return "none";
}
}

function iptype2 () {
if (getenv("HTTP_X_FORWARDED_FOR")) {

return getenv("HTTP_X_FORWARDED_FOR");
}
else {
return "none";

}
}
function iptype3 () {
if (getenv("REMOTE_ADDR")) {

return getenv("REMOTE_ADDR");
}
else {
return "none";
}

}
function ip() {
$ip1 = iptype1();
$ip2 = iptype2();
$ip3
= iptype3();
if (isset($ip1) && $ip1 != "none" && $ip1 !=
"unknown") {
return $ip1;
}
elseif (isset($ip2) && $ip2
!= "none" && $ip2 != "unknown") {
return $ip2;
}
elseif
(isset($ip3) && $ip3 != "none" && $ip3 != "unknown") {

return $ip3;
}
else {
return "none";
}
}
使用時,直接調用ip();

2. PHP中如何獲取伺服器IP

$_SERVER['SERVER_ADDR']獲取伺服器的IP地址

3. 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;
}

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的方法

<?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

6. 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

希望對你有幫助

7. 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']);
}

8. PHP如何獲取伺服器外網IP

1.關於外網IP變更問題,如果你手頭上有 IP資源,建議綁定。就是你申請的靜態IP。
2.如果自己沒有靜態IP,那麼如果你有域名,可以通過 花生殼這些軟體,綁定自己的伺服器。這樣就算IP怎樣變化,直接訪問域名就可以了。
2.1.花生殼帶有一些二級域名的,功能也差不多。
-----------------------------------

另外,可以寫一個功能cURL,讓你的伺服器定期訪問一個站點(私有站點,要許可權進入),這個站點你可以獲取訪問者的IP。

閱讀全文

與PHP伺服器IP代碼相關的資料

熱點內容
82一56的筒便演算法 瀏覽:404
數控機床fanuc編程 瀏覽:607
天刀mode不是內部或外部命令 瀏覽:854
長城c30壓縮機價格 瀏覽:1000
java打開圖片文件 瀏覽:409
跟程序員聊天聊到半夜 瀏覽:411
自己怎麼做app代碼 瀏覽:915
win7旗艦版進不去帶命令符 瀏覽:799
單片機溫度檢測電路 瀏覽:802
拼圖軟體不壓縮 瀏覽:656
紅袖添香小說源碼 瀏覽:624
erp加密工具在哪裡買 瀏覽:516
怎麼給qq群里的文件加密 瀏覽:762
androidsetbitmap 瀏覽:597
mt4反向編譯 瀏覽:201
sun伺服器命令 瀏覽:827
程序員同乘電梯 瀏覽:617
49乘以235的簡便演算法 瀏覽:673
新概念51單片機c語言教程光碟 瀏覽:262
伺服器分區如何選擇 瀏覽:354