【问题标题】:How should you encode a textarea's contents你应该如何编码 textarea 的内容
【发布时间】:2018-03-14 12:49:30
【问题描述】:

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

例如假设我有这个:

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

我应该如何对 textarea 的内容进行编码,以便将 &lt;/textarea&gt;&lt;script&gt; 显示为文本而不是运行它?

我正在使用 ASP.Net,但我真的很喜欢 HTML 的一般答案。

这与“Rendering HTML inside textarea”不同,因为我不想在文本区域内呈现 HTML,就像他们做的那个问题一样。

【问题讨论】:

标签: html asp.net encoding textarea


【解决方案1】:

你使用HTMLEncode

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

或者

TextBox1.Text = Server.HtmlEncode(myString);

【讨论】:

  • 这是我的想法,但有点担心这可能会编码不应该的东西。
【解决方案2】:

如果您想发布

所以 html 看起来像:

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

但@VDWWD 的回答是 ASP.NET 开发的更好解决方案。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多