在Postman中自动设置CSRF令牌Django技巧

时间:2024-03-14 19:50:13

如何在邮递员中自动设置CSRF令牌?

Django内置了CSRF保护机制,可通过不安全的方法对请求进行保护 ,以防止跨站点请求伪造 在AJAX POST方法上启用CSRF保护后,应在请求中发送X-CSRFToken标头。

邮递员是测试API的一种广泛使用的工具。 在本文中,我们将看到如何设置CSRF令牌并在Postman中自动更新它。

CSRF令牌邮递员

Django在登录时设置csrftoken cookie。 登录后,我们可以从Postman中的cookie中看到csrf令牌。

在Postman中自动设置CSRF令牌Django技巧

我们可以获取此令牌并将其手动设置在标题中。

在Postman中自动设置CSRF令牌Django技巧

但是,此令牌到期时必须手动更改。 在到期的基础上进行此过程变得很乏味。

相反,我们可以使用Postman脚本功能从cookie中提取令牌并将其设置为环境变量。 在邮递员的“测试”部分,添加以下行。

var xsrfCookie = postman.getResponseCookie("csrftoken"); postman.setEnvironmentVariable('csrftoken', xsrfCookie.value);

这将提取csrf令牌并将其设置为当前环境中名为csrftoken的环境变量。

在Postman中自动设置CSRF令牌Django技巧

现在,在我们的请求中,我们可以使用此变量设置标头。

在Postman中自动设置CSRF令牌Django技巧

当令牌过期时,我们只需要再次登录即可,而csrf令牌会自动更新。

结论

在本文中,我们了解了如何在Postman中自动设置和更新csrf令牌。 我们可以在CAPI或httpie等其他API客户端上遵循类似的技术来设置csrf令牌。

最初于 2019 年2月28日 发布在 avilpage.com

From: https://hackernoon.com/automatically-set-csrf-token-in-postman-django-tips-c9ec8eb9eb5b