你应该如何编码textarea的内容

时间:2017-10-03 10:37:26

标签: html asp.net encoding textarea

如果我有一个可以显示用户输入输入的文本区域。我应该如何对其进行编码以防止出现任何安全问题?

例如假设我有这个:

<!DOCTYPE html>
<html>
<head>
<title>Title</title>
</head>
<body>
    <form>
        <textarea></textarea><script>alert('Hello');</script></textarea>
    </form>
</body>
</html>

我应该如何编码textarea的内容,以便将</textarea><script>显示为文本而不是运行它?

我使用ASP.Net,但我真的在回答HTML的一般答案之后。

这与&#34; Rendering HTML inside textarea&#34;不同。因为我不想在textarea中呈现HTML,就像他们所做的一样。

2 个答案:

答案 0 :(得分:2)

您使用HTMLEncode

<textarea><%= Server.HtmlEncode("</textarea><script>alert('Hello');</script>") %></textarea>

或者

TextBox1.Text = Server.HtmlEncode(myString);

答案 1 :(得分:0)

如果您想发布&lt; script&gt;标签将会被选中 将标记显示为文本类型&amp; lt; &amp; gt; ,它们将显示为&lt; &GT; Link

所以html看起来像:

<textarea> &lt;/textarea&gt; &lt;script&gt;alert('Hello');&lt;/script&gt; </textarea>

但@VDWWD答案是asp.net开发的更好解决方案。