在.text()附加的不安全字符串中添加安全的HTML

时间:2015-04-22 23:49:03

标签: javascript jquery html escaping

所以,如果我有一个不安全的字符串:
div通过containerdiv.text(str) unsafe2内安全附加(或将被追加),然后我如何安全有效地替换此字符串的中间部分 - {{ 1}}(或更大的字符串中的几个单独部分)与受信任的HTML(让我们说inline-block element),它将显示为HTML,

container内的最终显示必须如下所示:

                          ___
 <div id='unsafe'></div> |___| <div id='unsafe3'></div>

编辑:假设我知道如何在字符串中找到这个unsafe2。适当和安全地替换困扰我的那个问题。

Edit2:这里是一个简单的小提琴:https://jsfiddle.net/5pa7do7w/输入包含单词doggyHello doggy, i'm here!)的内容并点击回车,我们将假设这个是不安全的字符串来自其他用户的结束。在&#39;聊天&#39;字段doggy将替换为彩色范围DOGGY。这很容易做到,因为我正在使用.html(str),如果您将输入带有<script> alert的不安全字符串,则使用此方法 - 它将被三角化,因为整个字符串附加为html。我想通过Hello doggy, i'm here!追加.text(str)来逃避&#39;它,但仍然可以像现在一样将小狗交换为彩色html

Edit3:在尝试解决此问题时 - 更新了小提琴。它的外观和工作方式:https://jsfiddle.net/5pa7do7w/1/尝试输入<div></div> hey doggy are you <script> window.alert(hello) </script> good doggy。但是我担心现在有可能用XSS打破js范围,因为我在分割它时在代码中使用非转义字符串,并且我不确定是否存在漏洞。

0 个答案:

没有答案