我有一個textarea輸入有一個WYSING編輯器(簡單),DB /行在UTF8_general_ci,現在我用這個在模板中設置HTML文本:strip_tags + htmlentities +在WYSING編輯器中特殊的textarea
htmlentities(utf8_decode($row['field'])
的問題是WYSING編輯器,如果用戶把<strong> <P>
或類似的,在模板上的文字顯示是標籤,而不是代碼的串碼,因爲我使用ヶ輛,但如果我不使用這個,並顯示原始文本,問題是「特殊標籤」,例如<script>, <iframe>
。
對此的解決方案是使用strip_tags(),只允許用於編輯器..但是一個問題仍然存在於此..如果用戶使用例如<p onclick="alert('fckoff!')">HELLO!</p>
,警報顯示,因爲它允許的HTML標籤。
存在,任何方法,僅允許特定的標籤+防止瞰特殊字符(如」,」,N,或「'')+限制這種 「secutiry issures」?
坦克!
您必須清理剛纔的xss漏洞,您是否使用任何PHP框架,因爲創建xss clean函數並不容易? – Usman
不,它是一個手工製作的CMS,而且還沒有創建xss清理功能。任何推薦? – Zenth