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

CodeIgniter 過濾 HTML 危險代碼(XSS 防護)三種方案對比

     編輯:PHP 綜合知識

方案一:原生 htmlspecialchars

$safe = htmlspecialchars($input, ENT_QUOTES, 'UTF-8');

最輕量、性能最好,適合明確輸出場景。

方案二:全局 XSS 過濾(配置文件)

// application/config/config.php
$config['global_xss_filtering'] = TRUE;

自動對所有 $_POST、$_COOKIE、$_SERVER 執行 xss_clean()。
缺點:增加服務器開銷,可能誤殺合法數據(如富文本編輯器內容)。

方案三:單次輸入過濾(推薦)

$safe = $this->input->post('content', TRUE); // 第二個參數 TRUE 開啟 XSS 清洗

按需過濾,性能與安全平衡最佳。

建議策略

  • 關鍵業務字段(評論、留言)使用方案三。
  • 富文本編輯器內容**不要**用 xss_clean,改用 HTMLPurifier 等白名單庫。
  • 輸出時根據上下文(HTML/JS/CSS/URL)做相應編碼,輸入過濾只是輔助。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved