嗯。除了「defanging」輸入或使用某種正則表達式去除標籤之外,將用戶的東西轉儲到<textarea>
有多安全?使用``<textarea>防止腳本
例如,假設有,做以下PHP頁面:
echo '<textarea>';
echo $_GET['whuh_you_say'] ;
echo '</textarea>';
通常,這是容易受到XSS攻擊,但在textarea
,所有的腳本標籤將只顯示爲<script>
和他們贏得了」被執行。
這是不安全的?
嗯。除了「defanging」輸入或使用某種正則表達式去除標籤之外,將用戶的東西轉儲到<textarea>
有多安全?使用``<textarea>防止腳本
例如,假設有,做以下PHP頁面:
echo '<textarea>';
echo $_GET['whuh_you_say'] ;
echo '</textarea>';
通常,這是容易受到XSS攻擊,但在textarea
,所有的腳本標籤將只顯示爲<script>
和他們贏得了」被執行。
這是不安全的?
</textarea>
<script type="text/javascript">
alert("this safe...");
/* load malicious c0dez! */
</script>
<textarea>
strip_tags(string);
是美好的!誠實!
夠好了基礎:
sanitized = str_replace("<", "<", $_GET['whuh_you_say']);
sanitized = str_replace(">", ">", sanitized);
如果用戶不應該使用任何HTML標記的損失(其中,如果你提出這個textarea的解決方案,是這種情況),只要運行它通過htmlspecialchars()
或htmlentities()
並完成它。保證安全。
這篇文章談到了在textarea的google文檔中發現的XSS洞(我認爲這篇文章有點老了 - 所以谷歌現在可能已經保護了它),但它會破壞如何將textareas用作攻擊媒介。
是的,我只是想到了這一點。哈哈哈。謝謝 – bobobobo 2009-07-14 00:41:27
如果你總是要使用textarea的...你可以開發一個簡單的正則表達式只從字符串中刪除文本區域等,以防止上述攻擊......讓textarea的本身需要休息 – davidsleeps 2009-07-14 00:47:42
+1拍的護理我給它 - @davidsleeps - 雖然這可能是真實的,則* *最好的方式來處理,這是唯一的白名單您需要的標籤,並確保您消毒用戶輸入 – 2009-07-14 00:50:29