2012-03-08 84 views
28

我被告知在我的php.ini中有expose_php = On是一個安全問題,因此不符合PCI標準。在php.ini中關閉expose_php

迄今爲止,我的研究表明,關閉它是低風險的,並且基本上會停止在頭部中發回PHP版本,但是我想知道是否有可能出現在這個背面的任何問題更改。

我在想的潛在問題是第三方服務(支付提供商,電子郵件跟蹤系統,視頻流式API)是否希望您使用表明您正在運行PHP版本(可能超過某個版本)的標頭進行響應?

這應該是一個無縫的改變還是這有潛在的問題?

回答

45

這是正確的。

設置expose_php = Off只是防止網絡服務器發回X-Powered-By標題。儘管人們可能會說潛在的黑客可能會尋找過時的PHP版本,並且有安全漏洞可以利用,但是即使頭文件被關閉,他們也可能會做同樣的事情。在我看來,這是一件好事,但不要指望它提供很多保護。

在與第三方服務交互方面,他們不應該關心您使用的是哪個版本的PHP。他們應該能夠以與平臺無關的格式(如JSON,XML等)提供內容,以便服務可以被任何平臺使用,而不僅僅是PHP。

在任何情況下,他們依賴於「消費者」的PHP版本都是沒用的,因爲頭可以輕鬆關閉,甚至可能由服務器管理員操縱。

因此,它不應該成爲一個關閉它的問題。

7

當您禁用expose_php時,不應該有負面影響。

它所做的就是刪除X-Powered-By標題並停止返回PHP信用點和圖像的GET參數。

標頭上的任何第三方應用程序依賴是狡猾的。如果需要,您總是可以欺騙標題。

+0

如何使用GET獲取php點數和圖像? – user4271704 2016-01-04 14:44:18

+0

@ user4271704 http://stackoverflow.com/q/10458610/31671 – alex 2016-01-04 14:49:18

3

開啓或關閉此選項絕對沒有壞處。

關閉它不會爲您的網站增加任何安全性。那些腳本小子工具非常笨,以至於他們從不費力地告訴另一個平臺。

更不用說,如果您的網站是基於框架/ CMS的,那麼無論如何都無法隱藏PHP的存在。

3

以任何方式都沒有安全威脅,但暴露過時的PHP版本可能會誘使黑客嘗試利用過去版本中記錄良好的「漏洞」。

關於第三方服務,它們是平臺獨立的,不應該關心我們使用的是哪個版本的PHP。如果需要的話,我們可以簡單地設置一個空頭或像下面那樣

header('X-Powered-By: Venu'); 
+0

或者只是用['header_remove('X-Powered-By')'](http://www.php.net/header_remove) 。 – Pang 2016-07-11 04:46:16