Pau*_*per 5 html security contenteditable
我有一个内容可编辑的div:
<div contenteditable="true"></div>
Run Code Online (Sandbox Code Playgroud)
HTML可以粘贴到该div中.HTML保证不具有脚本标记或事件处理程序属性等吗?
我还没有找到源代码,但我猜所有浏览器都会删除脚本.否则,似乎对网络钓鱼式用户XSS非常开放:"通过将其粘贴到Gmail中,可以看到跳舞的小马......"
编辑:例如,<script>
如果您复制并粘贴以下内容,Chrome会删除该元素:
div {
border: 1px solid black;
}
Run Code Online (Sandbox Code Playgroud)
Copy this:
<div>
<b>Stack</b> <i>Overflow</i>
<br>
<script>
if(document.querySelectorAll('div[contenteditable=true]').length) {
alert('Hacked!');
}
</script>
<img src="http://blog.stackoverflow.com/wp-content/uploads/stackoverflow-logo-300.png">
</div>
<br>
<br>
Into this: (if you see a `Hacked!` alert, the script was not stripped)
<div contenteditable="true"></div>
Run Code Online (Sandbox Code Playgroud)
这是一种保证行为吗?或者我是否必须做一些特殊的事情来阻止XSS?