1. HTML语法:跨域
由Tag组成层级结构,标签视为名,而值插在当中。浏览器
关键组成符:<, >, ', ", &编码
2. 解析模式:加密
文件开头<!DOCTYPE>告知,url
但亦可由Content-Type传递,插件
关于1中的关键符, 可由<![CDATA[.....]]>封装设计
3. 解析器行为:code
对错误容忍度极高,空格,特殊字符,HTML过滤器设计有时不能只考虑一层两层,图片
以及标签的多重性, ip
各个浏览器之间标准的不一致性
4. 实体编码:
&符号开头,;符号结尾, 可ASCII, 可Unicode,(&#开头),
5. 超连接和内容包含:
<a href="url">
表单的action本质上也是一个 href
6. 其余资源:
图片(<img>);样式表(<link rel=stylesheet href=...> or <style src=...>)
客户端脚本(<script> 包括个别奇葩脚本)
插件(<embed>, <object>...)
7. 跨域请求
浏览器是透明包含全局身份信息的, 从而当状态改变的请求发送的服务端时, 是没法确认是客户仍是第三方发出的。
试解决方案:在请求中包含一个绘画相关的加密参数,从而第三方没法获取。(同源策略对跨域文档的读取限制)