发现很多项目中对 post 请求中要传输的数据用『querystring parsing and stringifying library』这种类型的库进行序列化,比如说 qs。
//POST传参序列化(添加请求拦截器)
axios.interceptors.request.use((config) => {
//在发送请求之前做某件事
if(config.method === 'post'){
config.data = qs.stringify(config.data);
}
return config;
},(error) =>{
_.toast("错误的传参", 'fail');
return Promise.reject(error);
});
其中在 qs 中的介绍中有句:『A querystring parsing and stringifying library with some added security.』。请问其中的安全体现在哪?
看看 qs 的测试用例你就知道了 https://github.com/ljharb/qs/...
这个 security 值得是你构造出来的数据是合法的。
评论写错地方了
qs 这个库就主要就是为了检测数据是否合法吗?因为如果我以前用 jQuery、axios的时候就算不添加 qs 这个库,也照样可以发送 ajax 请求。