XSS 跨域脚本攻击
类型
反射型
- 通过 URL 参数,发起攻击
- 当然也可以解决跨域问题,编写代码,构造异步加载 js 文件,可以解决 URL 过长受限的问题
http://example.com?a=<script>alert(1)</script>
<?php
echo $_GET['a'];
存储型
- 一次攻击,多次使用,比如攻击脚本存储在服务端数据库,文件中等。
- 例如
- 提交表单数据会存储在数据库中,并且这个数据会展示在页面上。在不解决这个攻击之前,这都是永久存在的 XSS 攻击。被攻击者只要访问了这个页面,就会被遭到攻击
解决方案
- 过滤
- 转码