2011-07-31 44 views
2

我有一個表單,用戶可以填寫新聞文章。這包含一個標題和正文。 對於每個頁面都有一個唯一的標題,我使用用戶輸入(標題)在<title>標籤都有效:標題標籤中的XSS攻擊

<title>$userinput</title> 

我想知道 - 這可能對用戶進行跨站腳本攻擊這條路?我應該使用htmlspecialchars來逃避這個用戶輸入嗎?

這同樣適用於<meta> -tags。我使用的是用戶輸入的描述:

<meta name="description" content="$userinput" /> 

可以將用戶在<title><meta>標籤都有效執行XSS攻擊?

+1

只要您將未轉義的HTML寫入網頁,就有可能存在XSS。 – zneak

+0

可能重複[應該我htmlspecialchar()變量?](http://stackoverflow.com/questions/638057/should-i-htmlspecialchar-variables-inside-title-title) – mercator

+0

永遠不要相信用戶輸入! – DonSeba

回答

3

他可以先關閉所有標籤:

</title><script> alert('here I am') </script>

0

這樣就可以執行XSS攻擊。

我會用htmlentities開頭。 你也可以考慮HTML Purifier。 最後,您可能需要考慮PHPIDS。這對於大多數情況來說有點矯枉過正......