浏览器在什么时候将html的实体编码还原?请教,谢谢!

物润声无 2012-08-15 09:49:26
最近在做web防XSS的活,为了防止用户注入脚本代码,于是要对客户的输入进行验证,方法之一就是过滤掉客户输入的特殊字符,对其重新编码,类如:< < > >
浏览器最终显示的时候还原成了 < 和 >,
问:将 <还原成 < 的工作是浏览器在哪一部做的呢? 原理怎么实现的?


附上:
浏览器内部工作原理

该文章介绍了浏览器的工作原理,但没有解决我的疑惑,还请明白人指教!
...全文
141 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
物润声无 2012-08-19
  • 打赏
  • 举报
回复
晕倒,在唱独角戏了~
物润声无 2012-08-16
  • 打赏
  • 举报
回复
没人回答,自己顶一下~
物润声无 2012-08-15
  • 打赏
  • 举报
回复
先说下自己的想法:
由于采取了实体编码的形式替换特殊字符,在解析html时词法分析器会跳过它,不把它当成html标识挂在Dom tree上,脚本解释器也会跳过它,不去解释这段脚本,从而达到了放XSS的效果? 对吗?

将<还原成 < , 是因为在浏览器端存有一张映射表,在painting 或是在 display是 读取该映射表,将其还原, 想法对吗?

谢谢~

5,006

社区成员

发帖
与我相关
我的任务
社区描述
解读Web 标准、分析和讨论实际问题、推动网络标准化发展和跨浏览器开发进程,解决各种兼容性问题。
社区管理员
  • 跨浏览器开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧