2014-11-01 87 views
0

我有一個表單,用戶可以在文本框中填寫註釋。稍後我會在頁面上顯示相同的字段。 在測試時,我嘗試插入HTML評論標籤作爲評論。 當我顯示的頁面由於html評論標籤而變得混亂。 我正在做輸入驗證,但不能阻止所有符號。 有沒有我錯過的一些安全措施?在php中的HTML註釋標記輸入驗證

甚至stackoverflow.com過濾不了。在任何評論中試用html評論標籤。

+0

應當指出的是,讓人們無限制HTML註釋是一個XSS漏洞。 – 2014-11-01 03:09:45

回答

3

您可以使用htmlentities($string)htmlspecialchars($string)來編碼您的輸出,以便對您的html標記進行編碼,而不是將原始html寫入頁面。

用htmlspecialchars()

<?php 
$new = htmlspecialchars("<a href='test'>Test</a>", ENT_QUOTES); 
echo $new; // &lt;a href=&#039;test&#039;&gt;Test&lt;/a&gt; 
?> 

ヶ輛()

<?php 
$str = "A 'quote' is <b>bold</b>"; 

// Outputs: A 'quote' is &lt;b&gt;bold&lt;/b&gt; 
echo htmlentities($str); 

// Outputs: A &#039;quote&#039; is &lt;b&gt;bold&lt;/b&gt; 
echo htmlentities($str, ENT_QUOTES); 
?>