資料載入中

胡言亂語

PHP如何設定HTTP安全標頭?

PHP該如何將以下安全標頭添加到網站?

X-Frame-Options  防止點擊劫持攻擊
X-XSS-Protection  減輕跨站腳本(XSS)攻擊
X-Content-Type-Options  防止可能的網絡釣魚或XSS攻擊

以下透過2種方式添加:
(1)在.htaccess文件中加入
<IfModule mod_headers.c>
Header set X-Frame-Options "DENY"
Header set X-XSS-Protection "1; mode=block"
Header set X-Content-Type-Options "nosniff"
</IfModule>

這方式是一勞永逸。
(2)直接添加在PHP檔案裡:
header('X-Frame-Options: DENY');
header('X-XSS-Protection: 1; mode=block');
header('X-Content-Type-Options: nosniff');

麻煩的是在每支PHP的表頭都得添加,所以還是使用.htaccess設定或是直接設定在Apache裡比較省工。

另外,以上方式選擇一種設定即可,重複設定似乎反而會失效。

PHP如何設定HTTP安全標頭
若不知道自己的安全標頭不知道是否有設定正確,可以使用Mozilla Observatory做測試:Mozilla Observatory

以上紀錄~
 

  • PHP網站安全標頭添加方法
  • 防止點擊劫持攻擊的安全措施
  • 減輕跨站腳本攻擊的標頭設定
  • 使用.htaccess文件添加安全標頭
  • Mozilla Observatory測試網站安全性
https://innstory.com/story-PHP如何設定HTTP安全標頭-2701

上一篇
 設定Postfix使用SMTPServer當作relay主機

下一篇
PHP如何移除xpoweredby資訊 

發表留言

作者簡介

離不開電腦的宅男


推薦閱讀

作者其他相關類別故事

php檢查陣列中大於0的值

php檢查陣列中大於0的值

Mark Chang 5 年又 220 天 1.4K

假設有一個陣列$a 取得大於0的數值有幾個 以上紀錄~  

當XAMPP遇到VMWARE占用PORT 443導致無法啟動APACHE

當XAMPP遇到VMWARE…

Mark Chang 5 年又 144 天 2.6K

在使用XAMPP時,若系統有安裝 VMWare Workstation,VMWare會將 port ...

PostgreSQL對應MySQL注意事項,時間與日期格式是最容易踩雷的地方之一

PostgreSQL對應My…

Mark Chang 2026-06-23 下午 4 點 65

從 MySQL 轉到 PostgreSQL(或雙軌並行)時,時間與日期格式是最容易踩雷的地方之一。雖...