㈠ php 可以獲取客戶端哪些訪問信息
<?php
echo"<br>".$_SERVER['PHP_SELF'];#當前正在執行腳本的文件名,與documentroot相關
echo"<br>".$_SERVER['argv'];#傳遞給該腳本的參數。
echo"<br>".$_SERVER['argc'];#包含傳遞給程序的命令行參數的個數(如果運行在命令行模式)。
echo"<br>".$_SERVER['GATEWAY_INTERFACE'];#伺服器使用的CGI規范的版本。例如,「CGI/1.1」。
echo"<br>".$_SERVER['SERVER_NAME'];#當前運行腳本所在伺服器主機的名稱。
echo"<br>".$_SERVER['SERVER_SOFTWARE'];#伺服器標識的字串,在響應請求時的頭部中給出。
echo"<br>".$_SERVER['SERVER_PROTOCOL'];#請求頁面時通信協議的名稱和版本。例如,「HTTP/1.0」。
echo"<br>".$_SERVER['REQUEST_METHOD'];#訪問頁面時的請求方法。例如:「GET」、「HEAD」,「POST」,「PUT」。
echo"<br>".$_SERVER['QUERY_STRING'];#查詢(query)的字元串。
echo"<br>".$_SERVER['DOCUMENT_ROOT'];#當前運行腳本所在的文檔根目錄。在伺服器配置文件中定義。
echo"<br>".$_SERVER['HTTP_ACCEPT'];#當前請求的Accept:頭部的內容。
echo"<br>".$_SERVER['HTTP_ACCEPT_CHARSET'];#當前請求的Accept-Charset:頭部的內容。例如:「iso-8859-1,*,utf-8」。
echo"<br>".$_SERVER['HTTP_ACCEPT_ENCODING'];#當前請求的Accept-Encoding:頭部的內容。例如:「gzip」。
echo"<br>".$_SERVER['HTTP_ACCEPT_LANGUAGE'];#當前請求的Accept-Language:頭部的內容。例如:「en」。
echo"<br>".$_SERVER['HTTP_CONNECTION'];#當前請求的Connection:頭部的內容。例如:「Keep-Alive」。
echo"<br>".$_SERVER['HTTP_HOST'];#當前請求的Host:頭部的內容。
echo"<br>".$_SERVER['HTTP_REFERER'];#鏈接到當前頁面的前一頁面的URL地址。
echo"<br>".$_SERVER['HTTP_USER_AGENT'];#當前請求的User_Agent:頭部的內容。
echo"<br>".$_SERVER['HTTPS'];#—如果通過https訪問,則被設為一個非空的值(on),否則返回off
echo"<br>".$_SERVER['REMOTE_ADDR'];#正在瀏覽當前頁面用戶的IP地址。
echo"<br>".$_SERVER['REMOTE_HOST'];#正在瀏覽當前頁面用戶的主機名。
echo"<br>".$_SERVER['REMOTE_PORT'];#用戶連接到伺服器時所使用的埠。
echo"<br>".$_SERVER['SCRIPT_FILENAME'];#當前執行腳本的絕對路徑名。
echo"<br>".$_SERVER['SERVER_ADMIN'];#管理員信息
echo"<br>".$_SERVER['SERVER_PORT'];#伺服器所使用的埠
echo"<br>".$_SERVER['SERVER_SIGNATURE'];#包含伺服器版本和虛擬主機名的字元串。
echo"<br>".$_SERVER['PATH_TRANSLATED'];#當前腳本所在文件系統(不是文檔根目錄)的基本路徑。
echo"<br>".$_SERVER['SCRIPT_NAME'];#包含當前腳本的路徑。這在頁面需要指向自己時非常有用。
echo"<br>".$_SERVER['REQUEST_URI'];#訪問此頁面所需的URI。例如,「/index.html」。
echo"<br>".$_SERVER['PHP_AUTH_USER'];#當PHP運行在Apache模塊方式下,並且正在使用HTTP認證功能,這個變數便是用戶輸入的用戶名。
echo"<br>".$_SERVER['PHP_AUTH_PW'];#當PHP運行在Apache模塊方式下,並且正在使用HTTP認證功能,這個變數便是用戶輸入的密碼。
echo"<br>".$_SERVER['AUTH_TYPE'];#當PHP運行在Apache模塊方式下,並且正在使用HTTP認證功能,這個變數便是認證的類型。
?>
㈡ 如何獲取PHP客戶端及伺服器端IP了
客戶端
ip
地址是通過
cgi
變數
remote_addr
得到的,這個是
http
伺服器負責提供。
http
伺服器和客戶端瀏覽器之間存在
socket
連接,socket
連接信息包含了另一側的
ip
地址和埠。
當然,最終用戶如果是通過代理伺服器訪問怎麼辦呢?目前主流的
http
代理伺服器都支持在
http
報頭添加
x-forwarded-for
信息,這可以是一個列表,如果所有的代理
㈢ php獲得客戶端的操作系統語言
//操作系統
public function getOS(){
$agent = $_SERVER['HTTP_USER_AGENT'];
$os = false;
if (eregi('win', $agent) && strpos($agent, '95'))
$os = 'Windows 95';
else if (eregi('win 9x', $agent) && strpos($agent, '4.90'))
$os = 'Windows ME';
else if (eregi('win', $agent) && ereg('98', $agent))
$os = 'Windows 98';
else if (eregi('win', $agent) && eregi('nt 5.1', $agent))
$os = 'Windows XP';
else if (eregi('win', $agent) && eregi('nt 5', $agent))
$os = 'Windows 2000';
else if (eregi('win', $agent) && eregi('nt 6.1', $agent))
$os = 'Windows 7';
else if (eregi('win', $agent) && eregi('nt 6', $agent))
$os = 'Windows Visita';
else if (eregi('win', $agent) && eregi('nt', $agent))
$os = 'Windows NT';
else if (eregi('win', $agent) && ereg('32', $agent))
$os = 'Windows 32';
else if (eregi('linux', $agent))
$os = 'Linux';
else if (eregi('unix', $agent))
$os = 'Unix';
else if (eregi('sun', $agent) && eregi('os', $agent))
$os = 'SunOS';
else if (eregi('ibm', $agent) && eregi('os', $agent))
$os = 'IBM OS/2';
else if (eregi('Mac', $agent) && eregi('PC', $agent))
$os = 'Macintosh';
else if (eregi('PowerPC', $agent))
$os = 'PowerPC';
else if (eregi('AIX', $agent))
$os = 'AIX';
else if (eregi('HPUX', $agent))
$os = 'HPUX';
else if (eregi('NetBSD', $agent))
$os = 'NetBSD';
else if (eregi('BSD', $agent))
$os = 'BSD';
else if (ereg('OSF1', $agent))
$os = 'OSF1';
else if (ereg('IRIX', $agent))
$os = 'IRIX';
else if (eregi('FreeBSD', $agent))
$os = 'FreeBSD';
else if (eregi('teleport', $agent))
$os = 'teleport';
else if (eregi('flashget', $agent))
$os = 'flashget';
else if (eregi('webzip', $agent))
$os = 'webzip';
else if (eregi('offline', $agent))
$os = 'offline';
else
$os = 'Unknown';
return $os;
}
㈣ PHP怎麼獲取系統信息和伺服器詳細信息
獲取系統類型及版本號: php_uname() (例:Windows NT COMPUTER 5.1 build 2600)
只獲取系統類型: php_uname('s') (或:PHP_OS,例:Windows NT)
只獲取系統版本號: php_uname('r') (例:5.1)
獲取PHP運行方式: php_sapi_name() (PHP run mode:apache2handler)
獲取前進程用戶名: Get_Current_User()
獲取PHP版本: PHP_VERSION
獲取Zend版本: Zend_Version()
獲取PHP安裝路徑: DEFAULT_INCLUDE_PATH
獲取當前文件絕對路徑: __FILE__
獲取Http請求中Host值: $_SERVER["HTTP_HOST"] (返回值為域名或IP)
獲取伺服器IP: GetHostByName($_SERVER['SERVER_NAME'])
接受請求的伺服器IP: $_SERVER["SERVER_ADDR"] (有時候獲取不到,推薦用:GetHostByName($_SERVER['SERVER_NAME']))
獲取客戶端IP: $_SERVER['REMOTE_ADDR']
獲取伺服器解譯引擎: $_SERVER['SERVER_SOFTWARE']
獲取伺服器CPU數量: $_SERVER['PROCESSOR_IDENTIFIER']
獲取伺服器系統目錄: $_SERVER['SystemRoot']
獲取伺服器域名: $_SERVER['SERVER_NAME'] (建議使用:$_SERVER["HTTP_HOST"])
獲取用戶域名: $_SERVER['USERDOMAIN']
獲取伺服器語言: $_SERVER['HTTP_ACCEPT_LANGUAGE']
獲取伺服器Web埠: $_SERVER['SERVER_PORT']
訪問用戶的瀏覽器信息: $_SERVER['HTTP_USER_AGENT'];
<script language="JavaScript">
document.write("瀏覽器名稱: "+navigator.appName+"<br>");
document.write("瀏覽器版本號: "+navigator.appVersion+"<br>");
document.write("系統語言: "+navigator.systemLanguage+"<br>");
document.write("系統平台: "+navigator.platform+"<br>");
document.write("瀏覽器是否支持cookie: "+navigator.cookieEnabled+"<br>");
</script>
㈤ php怎樣獲取客戶端電腦物理地址
設備的硬體信息要程序執行在當前系統上才可以取得。
PHP是執行在服務端的,無法做到。
只能利用第三方插件工具等取得,再提交給PHP。
㈥ 怎樣用php獲取用戶瀏覽器,操作系統,本地天氣
$_SERVER['HTTP_USER_AGENT'] 可以獲取用戶的操作系統和瀏覽器,不過客戶端傳過來的數據,用戶可以偽造
獲取天氣得調用別人的介面,新浪,中國氣象網都提供介面,你調用就可以了
㈦ 使用PHP怎樣獲得客戶端IP地址
function getIp()
{
if ($_SERVER["HTTP_CLIENT_IP"] && strcasecmp($_SERVER["HTTP_CLIENT_IP"], "unknown")) {
$ip = $_SERVER["HTTP_CLIENT_IP"];
} else {
if ($_SERVER["HTTP_X_FORWARDED_FOR"] && strcasecmp($_SERVER["HTTP_X_FORWARDED_FOR"], "unknown")) {
$ip = $_SERVER["HTTP_X_FORWARDED_FOR"];
} else {
if ($_SERVER["REMOTE_ADDR"] && strcasecmp($_SERVER["REMOTE_ADDR"], "unknown")) {
$ip = $_SERVER["REMOTE_ADDR"];
} else {
if (isset ($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'],
"unknown")
) {
$ip = $_SERVER['REMOTE_ADDR'];
} else {
$ip = "unknown";
}
}
}
}
return ($ip);
}
echo getIp();
㈧ PHP獲取客戶端IP 跟伺服器配置有關系么
客戶端的ip變數:
$_SERVER['REMOTE_ADDR'] :客戶端IP,也有可能是代理IP
$_SERVER['HTTP_CLIENT_IP']:代理端的IP,可能存在,也可能偽造
$_SERVER['HTTP_X_FORWARD_FOR'] :用戶在哪個ip上使用的id,可能存在,也可能偽造
服務端的ip變數:
$_SERVER['SERVER_NAME'] :需要使用函數gethostname()來獲得,這個無論是伺服器端還是客戶端都能正常顯示。
$_SERVER['SERVER_ADDR']:伺服器端的ip地址,在伺服器端測試ip地址,在客戶端測試正常
getnev 獲得系統的環境變數:
例子:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php
class getIp(){
function ClientIp(){
$cIP= getenv($_SERVER['REMOTE_ADDR']);
$cIP1 = getenv($_SERVER['HTTP_X_FORWORD_FOR']);
$cIP2 = getenv($_SERVER['HTTP_CLIENT_IP']);
$cIP1?$cIP= $cIP1?null;
$cIP2?$cIP = $cIP2?null;
return $cIP;
}
function serverIP(){
return gethostbyname($_SERVER['SERVER_NAME']);
}
}
$getIP = new getIP();
$clientIp = getIP::clientIP();
$serverIp = getIP::serverIP();
?>