如果我有一个可以显示用户输入输入的文本区域。我应该如何对其进行编码以防止出现任何安全问题?
例如假设我有这个:
<!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,就像他们所做的一样。
答案 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> </textarea> <script>alert('Hello');</script> </textarea>
但@VDWWD答案是asp.net开发的更好解决方案。