亚洲欧美日韩综合系列在线_91精品人妻一区二区_欧美大肥婆一级特大AA片_九色91视频免费观看_亚洲综合国产精品_av中文字幕在线不卡_久久精品色综合网_看黄色视频的软件_无卡无码高清中文字幕码2024_亚洲欧美日韩天堂网

PHP的$_SERVER的詳細(xì)介紹(代碼示例)

來源:不言 發(fā)布時(shí)間:2019-01-10 10:57:46 閱讀量:866

本篇文章給大家?guī)淼膬?nèi)容是關(guān)于PHP的$_SERVER的詳細(xì)介紹(代碼示例),有一定的參考價(jià)值,有需要的朋友可以參考一下,希望對你有所幫助

$_SERVER 是PHP預(yù)定義的超全局變量。所謂“超全局變量”,即在腳本全部作用域中都可以使用,$_SERVER保存關(guān)于報(bào)頭、路徑和腳本位置的信息。工作中經(jīng)常忘記,在此整理記錄下,加深印象。測試是在Windows下進(jìn)行的,環(huán)境為Apache/2.4.23 (Win32)+PHP/5.6.27-nts,訪問域名為http://www.example.com/index....,文件目錄在E:/WWW/example/。

主要內(nèi)容詳解

  • $_SERVER["SCRIPT_NAME"] => "/index.php",當(dāng)前腳本路徑

  • $_SERVER["REQUEST_URI"] => "/index.php?id=1",訪問的頁面URI,包含查詢字符串

  • $_SERVER["QUERY_STRING"] => "id=1",查詢字符串,不存在為" "

  • $_SERVER["REQUEST_METHOD"] => "GET",請求方法,如"POST"、"PUT"等

  • $_SERVER["SERVER_PROTOCOL"] => "HTTP/1.1",通信協(xié)議的名稱和版本

  • $_SERVER["GATEWAY_INTERFACE"] => "CGI/1.1",服務(wù)器使用的CGI 規(guī)范的版本

  • $_SERVER["REMOTE_PORT"] => "60599",用戶連接服務(wù)器使用的端口

  • $_SERVER["SCRIPT_FILENAME"] => "E:/WWW/example/index.php",當(dāng)前腳本的絕對路徑

  • $_SERVER["DOCUMENT_ROOT"] => "E:/WWW/example/",當(dāng)前腳本文檔根目錄的絕對路徑

  • $_SERVER["REMOTE_ADDR"] => "127.0.0.1",用戶的IP地址

  • $_SERVER["SERVER_PORT"] => "80",服務(wù)器使用的端口

  • $_SERVER["SERVER_ADDR"] => "127.0.0.1",服務(wù)器的IP地址

  • $_SERVER["SERVER_NAME"] => "www.example.com",服務(wù)器的主機(jī)名,注:如果腳本運(yùn)行于虛擬主機(jī)中,該名稱是由那個(gè)虛擬主機(jī)所設(shè)置的值決定。在 Apache 2 里,必須設(shè)置 UseCanonicalName = On 和 ServerName。 否則該值會由客戶端提供,就有可能被偽造。 上下文有安全性要求的環(huán)境里,不應(yīng)該依賴此值。

  • $_SERVER["SERVER_SOFTWARE"] => "Apache/2.4.23 (Win32) OpenSSL/1.0.2j mod_fcgid/2.3.9",響應(yīng)頭中Server的內(nèi)容

  • $_SERVER["SERVER_SIGNATURE"] => "",包含了服務(wù)器版本和虛擬主機(jī)名的字符串

  • $_SERVER["HTTP_HOST"] => "www.example.com",請求頭中Host項(xiàng)的內(nèi)容

  • $_SERVER["HTTP_CONNECTION"] => "keep-alive",請求頭中Connection項(xiàng)的內(nèi)容

  • $_SERVER["HTTP_PRAGMA"] => "no-cache",請求頭中Pragma項(xiàng)的內(nèi)容

  • $_SERVER["HTTP_CACHE_CONTROL"] => "no-cache",請求頭中Cache-Control項(xiàng)的內(nèi)容

  • $_SERVER["HTTP_UPGRADE_INSECURE_REQUESTS"] => "1",請求頭中Upgrade-Insecure-Requests項(xiàng)的內(nèi)容

  • $_SERVER["HTTP_USER_AGENT"] => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36",請求頭中User-Agent項(xiàng)的內(nèi)容

  • $_SERVER["HTTP_ACCEPT"] => "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,/;q=0.8",請求頭中Accept項(xiàng)的內(nèi)容

  • $_SERVER["HTTP_ACCEPT_ENCODING"] => "gzip, deflate",請求頭中Accept-Encoding項(xiàng)的內(nèi)容

  • $_SERVER["HTTP_ACCEPT_LANGUAGE"] => "zh-CN,zh;q=0.8",請求頭中Accept-Language項(xiàng)的內(nèi)容

  • $_SERVER["PHP_SELF"] => "/index.php",當(dāng)前執(zhí)行腳本的文件名

  • $_SERVER["REQUEST_TIME_FLOAT"] => 1510112348.8084,請求開始的時(shí)間戳,微秒級別精準(zhǔn)度

  • $_SERVER["REQUEST_TIME"] => 1510112348,請求開始的時(shí)間戳

實(shí)例

以上是測試中的 $_SERVER 的主要內(nèi)容,根據(jù)不同的環(huán)境配置,會有些變化。在實(shí)際工作中,$_SERVER有很多作用,這里只舉兩個(gè)簡單實(shí)例,獲取當(dāng)前請求URL以及簡單防盜鏈。

1

2

3

4

5

6

7

8

9

10

11

12

13

<?php

// $_SERVER['HTTPS']當(dāng)前是否為HTTPS協(xié)議

if (!empty($_SERVER['HTTPS']) && strtolower($_SERVER['HTTPS']) !== 'off') {

    $url = 'https://';

} else {

    $url = 'http://';

}

 

if ($_SERVER['SERVER_PORT'] == 80) {

    $url .= $_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];

} else {

    $url .= $_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'].$_SERVER['SERVER_PORT'];

}

1

2

3

4

5

6

7

<?php

// $_SERVER['HTTP_REFERER'],前一頁面的url

if (!empty($_SERVER['HTTP_REFERER'])) {

    if (!strpos($_SERVER['HTTP_REFERER'], 'www.example.com')) {

        header('Location: http://www.example.com');

    }

}


標(biāo)簽: PHP
分享:
評論:
你還沒有登錄,請先