我已经使用简单的 js 小提琴设置了我的问题http://jsfiddle.net/um788f6q/ http://jsfiddle.net/um788f6q/
<input type="text" id="yo">
$("#yo").val('hell'o')
基本上我想知道是否有一种方法可以显示撇号而不是编码字符串。我已经在服务器上对这样的值进行了编码,以防止 xss 攻击,因此解码实际上并不是一个有效的选项。
Thanks
基本上我想知道是否有一种方法可以显示撇号而不是编码字符串。
没什么理智的。
value 属性处理文本,而不是 HTML。
作为一个可怕的黑客,你可以通过解析 HTML 然后读取生成的文本节点将其转换为文本。
$("#yo").val($("<div />").html('hell'o').text());
……但不要。而是解决真正的问题。
我在服务器上对这样的值进行了编码,以防止 xss 攻击
不要那样做。
您将数据插入 JavaScript,而不是 HTML。
当您不处理 HTML 时,不要使用 HTML 防御。它可能会让你变得脆弱。
对插入 JavaScript 的数据进行编码的适当方法是使用 JSON 编码器。 (如果您将 JSON 放入 HTML 属性值中,则使用实体对生成的 JSON 进行编码,或者转义任何/
字符,如果你把它放在<script>
元素)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)