XSS
XSS(cross site Script)
XSS 的分类:
- 反射型。即相信用户的输入,直接输出到页面导致 JS 脚本执行
- 存储型。指输入的内容直接存入数据库。这样以后只要取出并展现这条数据时就会执行 JS。
解决方案:
-
转义
- HTML 实体 (
<
>
&
"
)。用在 HTML 或者属性中输出内容时。 - JS Encode (
\\r
,\\n
,\u1234
等),用于在 JS 或者事件或者 CSS 中输出内容时 - URIComponent (
%12
),用于在 URL 上输出内容时
- HTML 实体 (
-
将重要的 cookie 设置为 http-only
-
将表单项内容的类型进行限制,如只能填写数字,只能填写某些字符等。
-
如果有用户输入作为 HTML 直接输出到页面的,需要过滤敏感标签,如
<script>
,<iframe>
等
网友评论