隱藏響應中的server和X-Powered-By


有時候,我們用調試工具查看別人的網站時,經常看到 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 開發的

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM