您的位置首页 >科技 >

👨‍💻✨vue+django前后端分析解决csrf token问题

导读 在前后端分离项目中,`vue`与`django`搭配是常见组合,但`CSRF Token`问题常让人头疼。核心原因在于Django默认开启CSRF保护机制,而Vue作

在前后端分离项目中,`vue`与`django`搭配是常见组合,但`CSRF Token`问题常让人头疼。核心原因在于Django默认开启CSRF保护机制,而Vue作为前端框架,无法直接获取后端的CSRF Token。如何优雅地解决?

首先,我们需要在Django后端设置CSRF信任域名。通过修改`settings.py`中的`CSRF_TRUSTED_ORIGINS`字段,确保Vue服务的域名被信任。例如:

```python

CSRF_TRUSTED_ORIGINS = ["https://your-vue-domain.com"]

```

其次,在Vue中通过API接口获取CSRF Token。后端可以单独提供一个接口(如`/api/csrf-token`),返回Token值,前端将其存储并附加到每个请求头中。例如:

```javascript

axios.get('/api/csrf-token').then(response => {

const csrfToken = response.data.csrfToken;

axios.defaults.headers.common['X-CSRFToken'] = csrfToken;

});

```

最后,确保所有POST、PUT等需要CSRF验证的操作都携带Token,即可顺利解决该问题。💪🔥

通过以上步骤,前后端协作更加顺畅,项目开发效率直线提升!🌟

版权声明:本文由用户上传,如有侵权请联系删除!