GET请求能用来提交敏感操作吗?CSRF怎么防?

Newb.伊芃 阅读 11

我最近在做用户删除功能,后端同事说用GET请求删数据没问题,但我听说GET不应该用来做状态修改的操作。现在有点懵,到底能不能用GET?如果必须用POST,那在Vue里怎么加CSRF token啊?

我试过在axios里全局加header,但后端还是报CSRF token missing。这是我的删除按钮代码:

<template>
  <button @click="deleteUser">删除用户</button>
</template>

<script>
export default {
  methods: {
    async deleteUser() {
      // 当前用的是GET,但感觉不对
      await this.$http.get('/api/user/delete?id=123');
    }
  }
}
</script>

是不是应该改成POST?那CSRF token要怎么传?放在header还是body里?求指点!

我来解答 赞 4 收藏
二维码
手机扫码查看
1 条解答
UI子儒
UI子儒 Lv1
改成POST,CSRF token放header里。后端要验证token。

methods: {
async deleteUser() {
await this.$http.post('/api/user/delete', {id: 123}, {
headers: {'X-CSRF-Token': 'your_token_here'}
});
}
}


GET别用来改数据,这行不通。就这么简单。
点赞
2026-03-28 00:00