有時候,我們用調試工具查看別人的網站時,經常看到 X-Powered-By:PHP/7.1.8 這樣的一行和 Server:Apache/2.4.27 (Win32) OpenSSL/1.0.2l PHP/7.1.8 這樣的一行。
如:用 chrome 的調試工具中的 network 就可以查看:
這時候,我們就可以判斷當前網站是在 Windows 系統, Apache服務下,編程語言為 php。這樣就暴露了很多信息,對於網站來說是不安全的。在大多數情況下,需要把這兩項給隱藏掉。
1、隱藏X-Powered-By
修改 php.ini 文件。添加或修改 expose_php = Off
2、apache 隱藏 server
修改httpd.conf 設置
ServerTokens Prod
3、nginx 隱藏 server
修改nginx.conf 在http里面設置
server_tokens off;
修改完之后,重啟 Apache(nginx 下也要重啟 php-fpm)即可看到效果。如:
如果你用的是 ThinkPHP 框架,可能會有這樣的一行:
X-Powered-By:ThinkPHP
利用上面的方法,可以將 X-Powered-By 隱藏掉,也可以直接修改 View.class.php 文件
// 將 header('X-Powered-By:ThinkPHP'); // 修改成其它的,如: header('X-Powered-By: asp.net');
可以誤導別人以為是 .net 開發的