我想了解有关XSS的更多信息,但是我似乎找不到关于如何解析HTML嵌入式JavaScript(如下面的代码段)的良好资源。
我如何在浏览器中查看如何解析此代码?即进行了几轮解析,每一轮如何转换输入(例如解码)等。
<!DOCTYPE html>
<html>
<body>
<button type="button" onclick="setTimeout(() => alert(1), 1000)">Click this!</button>
</body>
</html>
在执行HTML解析之后,该解析会解码HTML编码的实体,该程序是什么样的? HTML解析还会与onclick
属性混淆吗?
答案 0 :(得分:0)
您的问题相当广泛,但似乎通常与浏览器如何呈现网页有关。
您的浏览器请求该Web文档并开始对其进行解释,逐行阅读并构建文档对象模型(DOM)的面向对象表示形式; JavaScript逻辑和html文档之间的 DOM 接口可动态构建应用程序。
当浏览器到达您的按钮时,它将呈现具有书面属性的元素;解析onclick属性后,它会将click事件的事件侦听器设置为 DOM ,并且当检测到事件时,事件侦听器将使用设置的参数异步调用定义的函数。
如果您需要澄清某些特定问题或未解决,请更新您的问题。