我工作的一個web框架,想建立XSS預防進去。我已經設置好了,所以它將轉義傳入的數據存儲在數據庫中,但有時候你想保存用戶生成的html。我試圖做一個自定義標籤,以防止任何JavaScript無法執行,這是我的第一次入侵吧:JavaScript的解除綁定DOM事件
<html>
<head>
<script type="text/javascript" src="/js/jquery.min.js"></script>
</head>
<body>
<preventjs>
<div id="user-content-area">
<!-- evil user content -->
<p onclick="alert('evil stuff');">I'm not evil, promise.</p>
<p onmouseover="alert('evil stuff');">Neither am I.</p>
<!-- end user content -->
</div>
</preventjs>
<script type="text/javascript">
// <preventjs> tags are supposed to prevent any javascript events
// but this does not unbined DOM events
$("preventjs").find("*").unbind();
</script>
</body>
</html>
我試圖使用jQuery解除綁定的一切,但它不會在DOM解除綁定事件,這正是我想要做的。是否有可能解除DOM元素的所有事件?
但如果JavaScript是隻是一個腳本標籤中的內容。它會執行之前,你甚至可以嘗試清理它。 –
我打算在保存數據之前刪除腳本標記,這些腳本很容易檢測到。 – regality