2010-10-02 68 views
1

我正在這樣做。它似乎工作,但它是最好的方式?像人們仍然可以發佈XSS代碼或應該抓住這一切嗎?這是一個很好的方式來刪除腳本,Onmouseover,onerror和onload用PHP

$pattern[0] = '/script/'; 
$pattern[1] = '/onmouseover/'; 
$pattern[2] = '/onerror/'; 
$pattern[3] = '/onload/'; 
$replacement[0] = 'scr<b></b>ipt'; 
$replacement[1] = 'onmouse<b></b>over'; 
$replacement[2] = 'on<b></b>error'; 
$replacement[2] = 'on<b></b>load'; 

回答

4

消毒用戶生成的HTML內容,我寧願依靠現有的,積極維護圖書館的服務,如HTML Purifier

HTML淨化器是寫在一個標準的HTML過濾庫PHP。 HTML Purifier不僅會刪除所有惡意代碼(更好的稱爲XSS),而且還會確保您的文檔符合標準,只有通過全面的W3C規範知識才能實現。

+0

唯一的問題是,這是一個很重的wheigt庫,如果你想配置它只允許在問題插入像JavaScript一樣需要花費數小時..... – 2016-06-26 15:34:16

+1

當然 - 但它可以說仍然比在大多數情況下構建自己的解決方案(也就是說,如果你發現了一些更容易使用的東西,絕對在這裏發佈一個答案!) – 2016-06-26 15:39:00

相關問題