基于 TypeScript重构Axios(完结)-一些简单的拓展功能

148 阅读1分钟

XSFR防御:其实就是用户在登入网址A取得信任身份后,在未登出的情况下浏览攻击网站,由攻击网站经用户向网址A发送某些请求进行攻击,该攻击的防御手段挺多的,但是常用的就是后端生成一个token通过set-cookie的方式种到服务端,然后客户端发送请求的时候每次都会带上cookie由服务端进行验证,我们允许在请求中携带多两个参数xsrfCookieName和xsrfHeaderName来存储token的cookie名称和header名称即可,这两个名称有默认值,也可以自定义

实现方式分为3步,判断withCredentials是否为true或者是否同域请求,两者条件符合一个才会请求headers添加xsrf相关字段,如果判断能成功,就调用事件读取xsrf的token值,调用成功则将xsrf的相关字段放入headers中

image.png

image.png

image.png

自定义合法状态码:系统开发中不止有200才代表成功的情况下,用这个挺OK的,这个还是很简单的

实现方式其实就是配置一个规则,然后再数据响应后带着响应code的数据范围去判断,而不再单独使用200

image.png