一、簡介
一般而言,隱藏是實(shí)現(xiàn)安全的最脆弱方式之一。但在某些情況下,每一點(diǎn)額外的安全都是值得的。雖然隱藏措施可能對初級攻擊者有效,但對于有經(jīng)驗(yàn)的攻擊者來說,隱藏并不能提供真正的安全保障。因此,僅僅依賴隱藏措施來保護(hù)系統(tǒng)是不可取的。
對于提高安全性,確保系統(tǒng)的硬件和軟件組件都是最新的、及時(shí)修補(bǔ)已知漏洞、使用強(qiáng)密碼、實(shí)施訪問控制、加密敏感數(shù)據(jù)以及定期備份等措施更為重要。綜合使用多種安全措施,才能更好地保護(hù)系統(tǒng)免受攻擊。
有一些簡單的方法可以幫助隱藏 PHP,這可能會(huì)增加系統(tǒng)的安全性,但并不能完全保護(hù)系統(tǒng)免受攻擊。通過在 php.ini 文件中設(shè)置 expose_php 為 off,可以減少能獲得的有用信息,從而使攻擊者難以確定網(wǎng)站使用的是 PHP。
另一個(gè)策略是配置 web 服務(wù)器(例如 apache)通過 PHP 解析不同的文件類型, 無論是通過 .htaccess 文件還是 apache 的配置文件,都可以設(shè)置能誤導(dǎo)攻擊者的文件擴(kuò)展名:
二、隱藏為另一種語言
# 使 PHP 代碼看起來像其他代碼類型 AddType application/x-httpd-php .asp .py .pl 或者干脆徹底隱藏它: 示例 #2 使用未知的擴(kuò)展名作為 PHP 的擴(kuò)展名 # 使 PHP 代碼看起來像未知的類型 AddType application/x-httpd-php .bop .foo .133t 或者隱藏它為 HTML 代碼,這樣會(huì)有輕微的性能影響,因?yàn)樗械?HTML 都將通過 PHP 引擎進(jìn)行解析: 示例 #3 使用 HTML 作為 PHP 擴(kuò)展名 # 使所有的 PHP 代碼看起來像 HTML AddType application/x-httpd-php .htm .html
要讓此方法生效,必須把 PHP 文件的擴(kuò)展名改為以上的擴(kuò)展名。這樣就通過隱藏來提高了安全性,這是一個(gè)小的預(yù)防措施,幾乎沒有缺點(diǎn)。
三、隱藏?cái)U(kuò)展名
1、使用未知的擴(kuò)展名作為 PHP 的擴(kuò)展名
# 使 PHP 代碼看起來像未知的類型 AddType application/x-httpd-php .bop .foo .133t 或者隱藏它為 HTML 代碼,這樣會(huì)有輕微的性能影響,因?yàn)樗械?HTML 都將通過 PHP 引擎進(jìn)行解析:
2、使用 HTML 作為 PHP 擴(kuò)展名
# 使所有的 PHP 代碼看起來像 HTML AddType application/x-httpd-php .htm .html