csrf是跨域请求伪造,其基于cookie机制的状态保持特点进行伪造用户请求。用户登陆信任的网站后,在未退出状态时,访问其他非信任攻击网站(由于cookie的同源策略,不能跨域请求,但可以在子域名或同域名内进行cookie携带)会自动携带cookie信息,此时攻击网站会获取用户cookie信息,并向信任网站发送请求,更改用户信息等操作。
策略:一般策略时,表单中增加隐藏字段csrf_token,并在cookie信息中设置csrf_token字段信息。用户请求时,服务器对csrf_token进行校验。非信任网站由于不能获取到表单中的隐藏字段,因此,容易被服务器鉴别。
flask中可以设置csrfprotect()类,可以自动进行校验工作,但用户需要自己设置cookie的csrf_token字段。前端用户请求时,请求头中携带该字段信息。
策略:一般策略时,表单中增加隐藏字段csrf_token,并在cookie信息中设置csrf_token字段信息。用户请求时,服务器对csrf_token进行校验。非信任网站由于不能获取到表单中的隐藏字段,因此,容易被服务器鉴别。
flask中可以设置csrfprotect()类,可以自动进行校验工作,但用户需要自己设置cookie的csrf_token字段。前端用户请求时,请求头中携带该字段信息。