Apache、PHP 隱藏版本資訊

ztguang發表於2016-03-30
http://yfyfj.blog.163.com/blog/static/1542478420111122914470/

一、apache

apache 的httpd.conf 有兩個配置可以控制是否顯示伺服器資訊給使用者。

對於XAMPP,這兩者的配置在conf\extra\httpd-default.conf中。

ServerTokens

ServerSignature

預設條件下會把apache版本系統模組都顯示出來(HTTP 返回頭)

設定為:

ServerTokens Prod

ServerSignature Off

就隱藏Apache的Apache Version資訊。

還有如果列舉目錄的話會顯示域名資訊(檔案列表正文)
如果不想要就可以調這兩個引數
ServerTokens
ServerSignature

ServerSignature On|Off|Email

ServerTokens Minimal|Prod|OS|Full


ServerTokens Prod[uctOnly]
Server sends (e.g.): Server: Apache
ServerTokens Min[imal]
Server sends (e.g.): Server: Apache/1.3.0
ServerTokens OS
Server sends (e.g.): Server: Apache/1.3.0 (Unix)
ServerTokens Full (or not specified)

ServerSignature
控制由系統生成的頁面(錯誤資訊,mod_proxy ftp directory listing等等)的頁尾中如何顯示資訊。

可在全域性設定檔案中控制,或是通過.htaccess檔案控制
預設為”off”(ServerSignature Off),有些Linux發行版本可能會開啟這個閥門,比如Debian在預設的虛擬主機上預設將這個閥門設定為開放
全域性閥門的閥值會被虛擬主機或目錄單位的配置檔案中的閥值所覆蓋,所以,必須確保這樣的事情不應該發生
可用的閥值為下面所示:
Off (default): 
不輸出任何頁尾資訊 (如同Apache1.2以及更舊版本,用於迷惑)
On:
輸出一行關於版本號以及處於執行中的虛擬主機的ServerName (2.0.44之後的版本,由ServerTokens負責是否輸出版本號)
EMail: 
建立一個傳送給ServerAdmin”mailto”


二、隱藏PHP 版本

php.ini

expose_php On
改成
expose_php Off

重啟apache後,php版本在http頭中隱藏了。



相關文章