问题在于:
您有一个文本框,您输入一些文本,然后将其发送到服务器。在另一个页面上,该值将被检索并显示在屏幕上的文本框和标签中。
停止脚本攻击很重要,asp.net不会让你提交不安全的代码,所以提交你javascript replace&lt;使用<
和&gt;
当从服务器检索到值时,它们将返回<
和>
,这可以在标签中显示,但是当放入文本框时,它们必须被替换回&LT;和&gt;
数据应安全地存储在数据库中,因为其他人可能会使用此内容。从安全的角度来看,我想在它上面调用htmlencode然后存储它。这是我想在客户端标签上显示的编码html,但我想在文本框中显示解码后的版本。
所以我需要的是javascript中的htmldecode解决方案。 htmlencode / decode不仅仅取代&lt; &GT;没有明确的清单,我无法创建自己的方法。那里有解决方案吗?
答案 0 :(得分:4)
而不是尝试将一串文本转换为HTML,然后使用innerHTML将其添加到文档中;使用标准DOM方法。
myElement.appendChild(
document.createTextNode(myString)
);