gpt4 book ai didi

php - Laravel 使用 CSRF 保护发布 JSON

转载 作者:行者123 更新时间:2023-12-03 23:31:32 25 4
gpt4 key购买 nike

我从 Laravel 5 开始,我想把所有事情都做好。我正在用 Json 做“发布”,我想实现 CSRF 保护,但我不知道如何在我的 JSON 上做到这一点。我看到了很多关于 AJAX 的示例,但我没有找到 JSON。

我需要手动为 person 或 laravel 自动设置每个 token 吗?

如何将 token 作为该 JSON 的参数传递?

那是我的 JSON:

{
"foo":"bar"
}

这是我的 Controller 代码:

public function Register()
{
$teste = Request::json()->all();
return $teste;
}

我在中间件上使用了 Laravel 的所有默认保护。

最佳答案

您总是需要传递 CSRF token ,无论是使用 ajax 发布还是正常发布。这基本上是一项安全功能。

Laravel 自动生成。

您需要在页面上创建“_token”变量,您也可以在主模板中创建一次变量,然后您可以在整个项目中访问它:

<script type="text/javascript">
var secure_token = '{{ csrf_token() }}';
</script>

现在您可以在 ajax 调用中发送带有数据的 token ,如下所示:

$.ajax({
data: { _token: secure_token }
});

如果您通过表单提交发布任何数据,您可以像这样发布:

<input type="hidden" name="_token" value="{{ csrf_token() }}">

您应该始终将 CSRF token 与您在项目中进行的每个 ajax 请求或表单提交一起发布。

关于php - Laravel 使用 CSRF 保护发布 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34446740/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com