首頁  >  文章  >  後端開發  >  PHP如何取得指定網址的header頭資訊及隱藏關閉的方法

PHP如何取得指定網址的header頭資訊及隱藏關閉的方法

autoload
autoload轉載
2021-03-24 15:10:343515瀏覽

一、PHP如何取得指定URL的header資訊

       超簡單,就一行指令即可:

<?php print_r(get_headers(&#39;https://www.mdaima.com&#39;));?>
 
Array
(
    [0] => HTTP/1.1 403 Forbidden
    [1] => Date: Sun, 24 Jan 2021 05:09:48 GMT
    [2] => Server: Apache/2.4.46 (Win64) OpenSSL/1.1.1i PHP/7.3.26
    [3] => Content-Length: 199
    [4] => Connection: close
    [5] => Content-Type: text/html; charset=iso-8859-1
)

#二、如何禁顯示或隱藏header資訊的方法

        共分為兩步,第一步是將PHP.ini檔案中的expose_php = On改為expose_php = Off,重啟Apache後,再看一次

Array
(
    [0] => HTTP/1.1 403 Forbidden
    [1] => Date: Sun, 24 Jan 2021 05:10:50 GMT
    [2] => Server: Apache/2.4.46 (Win64) OpenSSL/1.1.1i
    [3] => Content-Length: 199
    [4] => Connection: close
    [5] => Content-Type: text/html; charset=iso-8859-1
)

        重啟後,我們可以看到關於PHP版本的資訊已經不顯示了,但是Apache和服務名稱的資訊還有顯示,我們需要更徹底一點,這樣才安全。我們需要在Apache的httpd.conf中增加兩個指令,首先我們先確認一下Apache的httpd.conf檔中有沒有如下兩個設定指令,如果沒有的話直接在設定檔最下面增加兩行資料。

ServerTokens Prod
ServerSignature Off

關於ServerTokens的指令設定參數看下面的說明:

ServerTokens Prod   显示“Server: Apache”
ServerTokens Major  显示 “Server: Apache/2″
ServerTokens Minor  显示“Server: Apache/2.2″
ServerTokens Min   显示“Server: Apache/2.2.17″
ServerTokens OS   显示 “Server: Apache/2.2.17 (Unix)”
ServerTokens Full   显示 “Server: Apache/2.2.17 (Unix) PHP/5.3.5″ (如果未指定任何的值,这个是默认的返回信息)

關於ServerSignature On的說明:

#        設定為On時,當有使用者要求造訪我們網站的網頁不存在時,伺服器將有錯誤提示顯示出來,錯誤提示將在頁面的最下方將包含伺服器的名字、Apache的版本等相關都顯示訊息,這將給一些不安好心的人提供一些便利而利用已知的版本漏洞。所以我們最好不要顯示這些訊息,我們可以將這個參數設定為Off

        透過修改這兩個參數設定文件,最終取得header的效果如下:

Array
(
    [0] => HTTP/1.1 403 Forbidden
    [1] => Date: Sun, 24 Jan 2021 04:54:49 GMT
    [2] => Server: Apache
    [3] => Content-Length: 258
    [4] => Connection: close
    [5] => Content-Type: text/html; charset=iso-8859-1
)

推薦:《php影片教學》《php教學

以上是PHP如何取得指定網址的header頭資訊及隱藏關閉的方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:码代码-李雷博客。如有侵權,請聯絡admin@php.cn刪除