跨站请求伪造(Cross-site request forgery)
大概的伪造流程是:在很多网站我们都会基于cookie存储一些由服务端产生的session或者token、假设我有在一个A网站登录、这时候A网站里面已经就存储了cookie信息、然后我在B网站的时候、我去拿A网站的一个GET接口、这个时候我直接通过B网站去访问请求A网站的接口、这个时候就会把A网站的cookie携带上!
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<div id="app"></div>
</body>
</html>
<script>
let app = document.getElementById("app");
app.innerHTML = `<img src="https://www.baidu.com/sugrec" onerror=""/>`;
</script>
CSRF防御
- GET请求不做数据修改