2010-06-16 55 views
0

如何防止XSS,但允許使用任何字符?就像我可以在類似<html><body><h1>Test</h1></html>的論壇上發佈HTML代碼一樣,但它不會在瀏覽器中呈現爲html?我怎樣才能做到這一點,所以它不會轉換PHP中的字符?防止XSS,但允許所有字符?

+0

可能重複:// stackoverflow.com/questions/1996122/how-to-prevent-xss-with-html-php) – 2010-06-16 01:05:14

回答

0

您可以使用htmlentitieshtmlspecialchars作爲字符串安全輸出。 htmlentities更加徹底,因爲它編碼所有實體,而htrmlspecialchars只轉換括號,引號和&符號字符。

例如,它將<更改爲&lt;,它被瀏覽器顯示爲<符號,而不是被解釋爲HTML標記的開始。

2

通過htmlspecialchars()函數傳遞一個字符串:

// Outputs HTML as literal characters 
echo htmlspecialchars('<html><body><h1>Test</h1></html>'); 
0

一個有趣的方法是DOM + Tidy - Source

[如何防止XSS與HTML/PHP?(HTTP的