header_remove, 修改/移除 php header
2017 Mar 19 未分類
有些時候 web server 回應需求的時候
會需要把一些 header 資訊拔掉
以下是一般瀏覽器對一個 web server 發出需求時 web server 的回應
這邊我們可以看到 Server 回應
X-Powered-By: PHP/5.6.30
如果你用 buildwith 的服務去看
也會看到
buildwith 是怎麼知道這個網站是 php 寫的呢?
其實就是判斷 X-Powered-By 這個 header 來的
如果我們不想讓別人知道網站是用 php 寫的
一般人的作法是
把 URL rewrite 例如 news.php?act=detail&id=123 改成 news/detail/123
或是甚至想誤導你 改成 news.asp?act=detail&id=123
(以為改成asp人家就以為你是asp寫的)
這樣其實只能騙外行人
因為他去看 X-Powered-By
還是可以看到 X-Powered-By: PHP/5.6.30
我們可以在程式裡面加一行 header_remove('x-powered-by');
這樣輸出的時候就不會有 X-Powered-By 的敘述
外界就無從判斷起主機是用什麼語言寫的
不過因為這是改 header
所以記得要在印出任何 body 前就要執行
不然會沒效果喔 (還會噴錯誤訊息)
後記: 結果發現我想太多了 php 有個叫做 expose_php 的參數
只要在 php.ini 把他設定成 off 就好了
例如 expose_php = Off 就可以達到本篇的效果
0則留言