我对Laravel的CSRF令牌感到恼火。我正在使用Laravel Collective的form
包。表单中的标记值与提交的页面上的标记值不同。
一些注意事项:
php artisan session:table
)Form::open()
创建CSRF字段。我查看了该页面,并且它具有有效的CSRF值。storage
目录上设置了正确的权限。Route::group(['middleware' => ['web']], function () {});
进行分组SESSION_DRIVER=database
文件.env
composer dump
,php artisan cache:clear
并删除了我的Cookie。我有一张表格。在该表单中,我有一个隐藏的_token
字段,该字段是有效的CSRF令牌。
当我使用标准POST
请求(没有javascript / ajax)将表单提交到服务器时,服务器期望的CSRF令牌与表单提供的令牌不同。
换句话说,似乎令牌在表单中输出时以及中间件接收时都会发生变化。
考虑到上述考虑因素,我还可以采取哪些措施来解决或调试问题,或者我可能错过了什么。
如果有人需要额外的详细信息,请告诉我。
答案 0 :(得分:0)
如果您正在添加{{ csrf_file() }}
函数或类似内容以提交它,但仍然收到此错误,则可能是php配置问题。您是否尝试在POST中提交文件?在命令行中输入php --info | grep size
并检查upload_max_filesize
大小和post_max_size
,以确保它们足够大,以便发布您的帖子数据。如果它们确实太小,请调整php.ini或{laravel_directory} /public/.htaccess文件以更改这些值。