如何在HTTP頭中隱藏PHP版本號
PHP 配置預設允許伺服器在 HTTP 響應頭 X-Powered-By 中顯示安裝在伺服器上的 PHP 版本。出於伺服器安全原因(雖然不是主要的要擔心的威脅),建議你禁用或隱藏此資訊,避免那些針對你的伺服器的攻擊者知道你是否執行了 PHP。在本文中,我們將解釋如何隱藏或關閉伺服器 HTTP 響應頭中的 PHP 版本號。
PHP 配置預設允許伺服器在 HTTP 響應頭 X-Powered-By 中顯示安裝在伺服器上的 PHP 版本。出於伺服器安全原因(雖然不是主要的要擔心的威脅),建議你禁用或隱藏此資訊,避免那些針對你的伺服器的攻擊者知道你是否執行了 PHP。
假設你伺服器上安裝的特定版本的 PHP 具有安全漏洞,而攻擊者瞭解到這一點,他們將更容易利用漏洞並透過
訪問伺服器。在我以前的文章中,我已經展示瞭如何隱藏 apache 版本號,你已經看到如何不再顯示 apache 的安裝版本。但是如果你在你的 apache 伺服器上執行 PHP,你還需要隱藏 PHP 的安裝版本,這我們將在本文中展示。
因此,在本文中,我們將解釋如何隱藏或關閉伺服器 HTTP 響應頭中的 PHP 版本號。
此設定可以在載入的 PHP 配置檔案中配置。如果你不知道此配置檔案在伺服器上的位置,請執行以下 找到它:
$ php -i | grep "Loaded Configuration File"
PHP 配置檔案位置
---------------- 在 CentOS/RHEL/Fedora 上---------------- Loaded Configuration File => /etc/php.ini ---------------- 在 Debian/Ubuntu/Linux Mint 上---------------- Loaded Configuration File => /etc/php/7.0/cli/php.ini
在對 PHP 配置檔案進行任何更改之前,我建議您首先備份您的 PHP 配置檔案,如下所示:
----------------在 CentOS/RHEL/Fedora 上---------------- $ sudo cp /etc/php.ini /etc/php.ini.orig ---------------- 在 Debian/Ubuntu/Linux Mint 上---------------- $ sudo cp /etc/php/7.0/cli/php.ini /etc/php/7.0/cli/php.ini.orig
用你最喜歡的編輯器,使用超級使用者許可權開啟檔案:
---------------- 在 CentOS/RHEL/Fedora 上---------------- $ sudo vi /etc/php.ini ----------------在 Debian/Ubuntu/Linux Mint 上---------------- $ sudo vi /etc/php/7.0/cli/php.ini
定位到關鍵詞 expose_php,並將值設定成 Off:
expose_php = Off
儲存並退出檔案。之後,重啟 web 伺服器:
---------------- 使用 SystemD ---------------- $ sudo systemctl restart httpd 或 $ sudo systemctl restart apache2 ---------------- 使用 SysVInit ---------------- $ sudo service httpd restart 或 $ sudo service apache2 restart
最後,不過同樣重要,使用下面的 檢查伺服器 HTTP 響應頭是否仍然顯示你的 PHP 版本號。
lynx -head -mime_header 或者 $ lynx -head -mime_header
這裡的標誌含義是:
- -head – 傳送一個請求 mime 報頭的 HEAD 請求。
- -mime_header – 列印所提取文件的 MIME 標頭及其原始碼。
注意: 確保你係統中已經安裝了命令列 web 瀏覽器 lynx。
就是這樣了!在本文中,我們解釋瞭如何隱藏伺服器 HTTP 響應頭中的 PHP 版本號以保護 web 伺服器免受可能的攻擊。你可以在下面的評論欄中留下你的想法或者相關的問題。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69901823/viewspace-2942283/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 隱藏nginx、apache與php版本號NginxApachePHP
- 如何在Linux伺服器中隱藏PHP版本Linux伺服器PHP
- Nginx隱藏版本號Nginx
- Apache、PHP 隱藏版本資訊ApachePHP
- 隱藏nginx版本號資訊(轉)Nginx
- PHP 隱藏手機號碼中間4位PHP
- 修改或隱藏Nginx的版本號Nginx
- 隱藏Apche、Nginx、PHP的版本號提高網站安全性NginxPHP網站
- 如何在 macOS Monterey 或更早版本中隱藏或顯示Dock欄Mac
- 如何隱藏 Apache 版本號和其它敏感資訊Apache
- 如何在指標中隱藏資料?指標
- 影像隱寫之使用PHP隱藏影像中的文字PHP
- 隱藏index.phpIndexPHP
- 如何將我們的Nginx的版本號進行隱藏Nginx
- 如何在fragment中控制DrawerLayout的顯示和隱藏Fragment
- DevExpress隱藏列表中顯示的加號+devExpress
- delphi 隱藏磁碟機代號
- 如何在“我的所有檔案”中隱藏某些檔案?
- Java格式化手機號和身份證號,中間使用星號*隱藏Java
- Oracle11g版本中未歸檔隱藏引數Oracle
- Oracle12c版本中未歸檔隱藏引數Oracle
- windows10系統中如何設定隱藏帳號Windows
- [php]HTTP協議頭解析PHPHTTP協議
- [php]http響應頭解析PHPHTTP
- substr_replace()函式:將手機號中間4位隱藏為*號函式
- 如何在 Linux/Unix/Windows 中發現隱藏的程式和埠LinuxWindows
- CSS——文字超出隱藏顯示省略號CSS
- win10 如何隱藏wordEnter鍵符號_win10word文件怎麼隱藏回車符號Win10符號
- OSX中隱藏和顯示[隱藏檔案]的命令列命令列
- 如何在Mac上隱藏紅色通知標記Mac
- 如何在Mac電腦中搜尋隱藏檔案?Mac
- 圖文詳解HTTP頭中的SQL隱碼攻擊YDNPHTTPSQL
- 隱藏alert彈框中的localhost:8080(ip地址跟埠號)localhost
- .NET 5 中的隱藏特性
- 如何在win10系統中開啟被隱藏的登陸介面?Win10
- 如何在Windows下啟動Koa並隱藏視窗Windows
- 使用apache的HttpClient進行http通訊,隱藏的HTTP請求頭部欄位是如何自動被新增的ApacheHTTPclient
- Oracle 各版本引數/隱藏引數 介紹Oracle