隱藏apache和php的版本信息,web server避免一些不必要的麻煩,可以把apache和php的版本信息不顯示
隱藏 Apache 版本信息
/etc/apache2/apache2.conf 或 /etc/httpd/conf/httpd.conf
ServerTokens ProductOnly
ServerSignature Off
重啟 apache
現在 http 頭裡面只看到:
Server: Apache
隱藏 PHP 版本
php.ini
expose_php On
改成
expose_php Off
重啟apache後,php版本在http頭中隱藏了。
詳解 :
為了防止某些別有用心的家伙窺視我們的服務器,應該做些什麼.
我們來看一下相關的2個參數,分別為ServerTokens和ServerSignature,通過控制這2個閥門應該就能起到一些作用,比如我們可以在配置文件中這麼寫:
ServerTokens Prod
ServerSignature Off
ServerTokens
用於控制服務器是否相應來自客戶端的請求,向客戶端輸出服務器系統類型或內置模塊等重要的系統信息。 在主配置文件中提供全局控制默認閥值為"Full"(ServerTokens Full),所以,如果你的Linux發行版本沒有更改過這個閥值的話,所有與你的系統有關的敏感信息都會向全世界公開。比如RHEL會將該 閥值更改為"ServerTokens OS",而Debian依然使用默認的"Full"閥值
以apache-2.0.55為例,閥值可以設定為以下某項(後面為相對應的Banner Header):
Prod >>> Server: Apache
Major >>> Server: Apache/2
Minor >>> Server: Apache/2.0
Minimal >>> Server: Apache/2.0.55
OS >>> Server: Apache/2.0.55 (Debian)
Full (or not specified) default >>> Server: Apache/2.0.55 (Debian) PHP/5.1.2-1+b1 mod_ssl/2.0.55 OpenSSL/0.9.8b
ServerSignature
控制由系統生成的頁面(錯誤信息,mod_proxy ftp directory listing等等)的頁腳中如何顯示信息。
可在全局設置文件中控制,或是通過.htaccess文件控制
默認為"off"(ServerSignature Off),有些Linux發行版本可能會打開這個閥門,比如Debian在默認的虛擬主機上默認將這個閥門設置為開放
全局閥門的閥值會被虛擬主機或目錄單位的配置文件中的閥值所覆蓋,所以,必須確保這樣的事情不應該發生 .