2011-04-05 51 views

回答

2

最簡單的方法是用&lt;>替換<然後用&gt;替換,然後將帖子插入到數據庫中。

這是基本的出發點,您可以將某些標籤列入白名單並稍後展開,但這樣可以保護您免受任何HTML注入的侵害。

或者,您可以使用某種HTML編碼功能來清理輸入。

-1

您需要了解input sanitization

+0

inpuit sanitazation是一個矛盾 - 問題是輸入驗證和輸出santitization – symcbean 2011-04-05 15:06:03

+0

消毒是驗證的一種形式。請參閱OWASP:http://www.owasp.org/index.php/Data_Validation#Sanitize – syrion 2011-04-05 15:08:55

0

如果你想阻止他們使用任何HTML 在所有的,你可以使用htmlspecialchars()。在存儲到數據庫之前或在輸出頁面之前,您可以選擇是否這樣做(大多數人會建議在使用輸出之前立即清理輸出,即輸出頁面時)。

+2

我不同意這種說法。如果您在進入數據庫之前進行清理,那麼這是一次性操作。如果您在輸出時進行清理,則每次使用數據時都必須執行清理。 – syrion 2011-04-05 15:01:03

0

您可以使用 strip_tags 來消除所有標記。

如果你只剝去<&lt;>&gt;你會以很多垃圾進入存儲的數據庫條目。

但是,如果你是一個論壇,也許你應該實現一個特定的方法,讓你的用戶個性化一點點他們的帖子,一拉計算器..

您可以創建一個特殊的詞表,或只是讓一些標籤。檢查this site