htmlpurifier的使用


什么是htmlpurifier??

HTML Purifier是一個可以用來移除所有惡意代碼(XSS),而且還能確保你的頁面遵循W3C的標准規范的PHP類庫。
在php里解決XSS最簡單的方法是使用htmlspecialchars轉義xml實體,但對於需要使用xml的時候就搏手無策了。之前一直使用一個叫RemoveXSS的函數,該函數過濾得比較嚴格,很多html特性都過濾了,而且有bug,不修改代碼使用起來很不友好,修改了卻無法應對靈活的XSS攻擊。
HTML Purifier是基於php 5所編寫的HTML過濾器,支持自定義過濾規則,還可以把不標准的HTML轉換為標准的HTML,是WYSIWYG編輯器的福音。

 

如何使用??

<?php
// 有選擇性的過濾XSS --》 說明:性能非常低-》盡量少用
function removeXSS($data)
{
	require_once './HtmlPurifier/HTMLPurifier.auto.php';
	$_clean_xss_config = HTMLPurifier_Config::createDefault();
	$_clean_xss_config->set('Core.Encoding', 'UTF-8');
	// 設置保留的標簽
	$_clean_xss_config->set('HTML.Allowed','div,b,strong,i,em,a[href|title],ul,ol,li,p[style],br,span[style],img[width|height|alt|src]');
	$_clean_xss_config->set('CSS.AllowedProperties', 'font,font-size,font-weight,font-style,font-family,text-decoration,padding-left,color,background-color,text-align');
	$_clean_xss_config->set('HTML.TargetBlank', TRUE);
	$_clean_xss_obj = new HTMLPurifier($_clean_xss_config);
	// 執行過濾
	return $_clean_xss_obj->purify($data);
}

 

 直接調用removeXSS()方法即可

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM