我该如何尝试使用Postman向Laravel应用发送发布请求?
通常,Laravel具有一个csrf_token
必须通过POST / PUT请求传递的。如何在 Postman 中获取和发送此值?在不关闭CSRF保护的情况下,是否有可能?
等等,我看错了问题。你想要在不关闭CSRF保护的情况下执行此操作吗?就像巴拉特·盖莱达(Bharat Geleda)所说:你可以制作一条仅返回令牌的路由,然后手动将其复制_token
到 Postman 的字段中。
但是我建议你从如下所示的CSRF保护中排除你的api调用,并在以后添加某种API身份验证。
你正在运行哪个版本的laravel?
从5.2开始,仅在具有web
中间件的路由上才需要CSRF令牌。因此,使用web
中间件将你的api路由放到该组之外。
有关更多信息,请参见文档中的“默认路由文件”标题。
你可以VerifyCsrfToken
像这样在中间件中排除不具有CSRF保护的路由:
class VerifyCsrfToken extends BaseVerifier
{
/**
* The URIs that should be excluded from CSRF verification.
*
* @var array
*/
protected $except = [
'api/*',
];
}
有关更多信息,请参见“排除CSRF保护中的URI”标题文档。
谢谢,是的,对于API而不是CSRF,使用身份验证是最好的选择
无法在Laravel 5.5中使用它。邮递员只显示“由于不活动而导致页面已过期”-这意味着令牌被拒绝/或不起作用。
@Inigo这是TokenException的新页面,因此您的令牌被拒绝。可能是因为您的会话无法正常工作。检查您的存储文件夹是否可用于会话。
@Hilmanrdn:有点晚了,但是我建议同时使用这两种-它们旨在解决完全不同的安全漏洞。