所有分类
  • 所有分类
  • 后端开发
cookie、session、token,神秘背后的真相揭秘

cookie、session、token,神秘背后的真相揭秘

方法一:我们在使用axios请求的时候可以先获取我们已经存入localStorage里的token然后在拦截器里使用[…]进行拼接axios修改全局默认配置:axios配置拦截器:这两种方法就可以让我们在axios拦截器里拼接token了,

各位亲们!你们是不是都好奇过,咱们上网时总会碰到 cookie、session 和 token 这几个神奇玩意儿是干啥子的?今天我就要给大伙儿讲明白这个事儿!

先说说cookie,它就像个小快递员似的,每次我们上网页时它都会飞快地给你传送一些参数到后台去。但你得知道,cookie谁都能看到,保护隐私性最差了!而且它还有限制,最大只允许4kb这么大。不过别担心,cookie是储存在电脑里的。

接下来说那个神秘的“session”。它可潜伏在服务器里头!服务器会给内存开辟一块地儿,专管存数据。别忘了,它还有个特殊的名字,叫做“session ID”,这个东西会跟cookie一起走,来到服务器那里后,就找那个对应的session文件。

来聊聊你知道的那个token!其实这是个服务器搞出来的玩意儿。当你成功登入后,服务器就会给你一串字符作为token。这个东西很安全!

别忘了,这些玩意儿都可能会被CRSF攻击!咱可得当心点儿。好在现在有axios拦截器帮咱们对付!在我发出请求前,它会先搞定,给token安个家——就放在名叫key的地方,再连同其他信息装进请求头。这个key是后台和前台商量好了的!因此,每次我求助,请求头肯定带着token传送过去,后台就能验明正身啦~

cookie、session、token,神秘背后的真相揭秘

import axios from 'axios';
import qs from 'qs';
axios.defaults.baseURL = process.env.VUE_APP_BASE_API;
let token = localStorage.getItem('token')
// Add a request interceptor
axios.interceptors.request.use(function (config) {
  // Do something before request is sent
  //console.log(config)
  if(config.method==='post'){
    config.data=qs.stringify({
      token:token,
      ...config.data
    })
  }else if(config.method==='get'){
    config.params={
      token:token,
      ...config.params
    }
  }
  return config;
 }, function (error) {
  // Do something with request error
  return Promise.reject(error);
 });
// Add a response interceptor
axios.interceptors.response.use(function (response) {
  // Do something with response data
  return response;
 }, function (error) {
  // Do something with response error
  return Promise.reject(error);
 });
 class http{
   static get(url,params){
     return axios.get(url,params)
   }
   static post(url,params){
    return axios.post(url,params)
  }
 }
 export default http;

说起axios,真的超牛的!官网上教你俩设置拦截器的方法。第1招,就是先去本地存储那儿找找以前保存的那啥token,再在拦截器里面[…]给它们串成一坨儿;第2招?那简直太简单了,直接修改一下默认的全局配置就好!

今天我来讲讲Vue里怎么设置axios拦截器,让它可以接受只带token的请求包。希望能帮到大伙儿!有啥不明白的就直接给我留言!我会尽快回答你们的问题。再次感谢大家对我们网站的厚爱!

axios.defaults.baseURL = 'https://api.example.com';
axios.defaults.headers.common['Authorization'] = AUTH_TOKEN;
axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded';

你们懂不懂cookie, session 和 token?快来评论里说说你知道啥!顺便给我点个赞~今天咱们聊了聊这三样东西的重要性。它们可是网上的守护者,保护咱们不受黑客侵害。希望看了这篇文章,你们也能更明白些。别忘了跟我留言互动!

// 添加一个请求拦截器
axios.interceptors.request.use(function (config) {
  // Do something before request is sent
  return config;
  //这里经常搭配token使用,将token值配置到tokenkey中,将tokenkey放在请求头中
  config.headers['Authorization'] = token;
  
 }, function (error) {
  // Do something with request error
  return Promise.reject(error);
 });
// 添加一个响应拦截器
axios.interceptors.response.use(function (response) {
  // Do something with response data
  return response;
 }, function (error) {
  // Do something with response error
  return Promise.reject(error);
 });

原文链接:https://www.icz.com/technicalinformation/web/2024/03/11328.html,转载请注明出处~~~
0

评论0

请先
注意:请收藏好网址www.icz.com,防止失联!站内免费资源持续上传中…!赞助我们
显示验证码
没有账号?注册  忘记密码?