在我的应用程序中,我想在我的笔记本电脑APP_ENV=local上运行时禁用CSRF,在开发时也想禁用CSRFAPP_ENV=dev。无法理解如何在routes.php或网络中间件中做到这一点。这是我的routes.phpRoute::group(['middleware'=>['web']],function(){Route::get('/',function(){returnview('welcome');})->middleware('guest');Route::group(['middleware'=>'auth'],function(){Route::resource('b
我有疑问,我正在使用Laravel5.8,并且我在Vue中有一个组件,它是一个简单的注册表单。当我通过POST方法提交表单时,Laravel没有向我请求CSRFtoken,这是正常行为吗?我没有使用API路由。我刚刚注意到在Chrome存储中有一个XSRF-TOKEN。那么,现在如何通过ajax进行CSRF验证? 最佳答案 如laravel5.8文档中所述WhenbuildingJavaScriptdrivenapplications,itisconvenienttohaveyourJavaScriptHTTPlibraryauto
我有一个集成了Vue.js的Laravel5.3项目,我想在我的表单中使用CSRF-TOKEN。Formhtml代码在Vue组件文件中resources/assets/js/bootstrap.js我有这个:Vue.http.interceptors.push((request,next)=>{request.headers.set('X-CSRF-TOKEN',MyApp.csrfToken);next();});然后我有主要的vue文件/resources/assets/js/app.js:require('./bootstrap');Vue.component('callback
在通过所见即所得编辑器上传图像时,我需要使用FormData()传递LaravelCSRFtoken。但它似乎失败了,或者它没有使用append()方法添加csrftoken。这是我的代码:functionuploadImage(image){vardata=newFormData();data.append("image",image);data.append("csrfToken",Laravel.csrfToken);//它没有在表单数据中添加laravelcsrftoken,因为我仍然收到错误TokenMismatchExceptioninVerifyCsrfToken.php
我有一个公共(public)表单,它在jqueryonchange事件上发送Ajax请求,有时由于在我开始获得TokenMismatchException的时间间隔内发送的请求数量。我使用以下方式发送csrftoken:$.ajaxSetup({headers:{'X-CSRF-TOKEN':$('meta[name="csrf-token"]').attr('content')}});我的情况有什么解决方案?延长csrftoken的生命周期?想法? 最佳答案 如果调用未处理任何敏感信息,请将路由放在VerifyCsrfToken类
我最近从Symfony3.4升级到了4.2。服务器更新期间出现了一些问题。起初我将session存储在服务器上的一个文件中,但后来我将其更改为存储在数据库中。我遇到的问题是一些用户无法创建session。结果是他们无法登录,无法将商品添加到购物车等。CSRFtoken也会受到影响,因为它们存储在session中。我无法重现问题。我的session配置如下所示session:cookie_domain:"%host%"cookie_httponly:true#handler_id:session.handler.native_file#save_path:"%kernel.root_di
我正在关注SonataAdminBundle文档,所以我已经安装了Bundle并将它们添加到AppKernel中,现在我陷入了配置。我已经使用了基本配置,但我一直收到此错误:Theservice"sonata.admin.builder.orm_datagrid"hasadependencyonanon-existentparameter"form.type_extension.csrf.enabled".我不知道这个参数是什么,也不知道如何正确设置它。 最佳答案 在你的app/config/yml你应该有这样一行:framewor
环顾四周,我找不到解决这个问题的方法。只有在通过Ajax提交时,我才会收到以下错误。这意味着我事先已经以常规的Symfony方式提交了表单,没有任何问题。TheCSRFtokenisinvalid.Pleasetrytoresubmittheform.什么有效:常规表单提交,即不使用Ajax我使用Ajax检查$_POST是否正确填充,包括CSFRtoken,就在Controller端提交之前,如下所示:$form->submit($request->request->get($form->getName('user')));根据要求,查看下面的输出var_dump($request->
我没有使用laravel默认提供的vue2设置。相反,我有两个单独的文件夹用于vue应用程序和laravelapi后端。vue应用程序在laravel项目文件夹之外。在这种情况下,我该如何实现CSRF呢?这就是我想做的事情,请告诉我这是否可以正常工作,或者有更多更好的方法来做..1.在vueapp中设置一个带有一些随机长字符串的cookie。2.在每个api调用中,确保正在发送cookie。3.在laravel后端,从请求中获取此token。4.从cookie本身获取token。5.匹配两个cookie,如果匹配则假定CSRF有效..提前致谢.. 最佳答案
这个问题不太可能帮助任何future的访问者;它只与一个小的地理区域、一个特定的时间点或一个非常狭窄的情况有关,这些情况并不普遍适用于互联网的全局受众。为了帮助使这个问题更广泛地适用,visitthehelpcenter.关闭10年前。刚刚读到CodeIgniter2.x具有内置的CSRF保护。现在阅读文档后,我没有发现任何与CSRF相关的内容,只是将其设置为TRUE的选项。在config.php文件就是这样。但是,在我的系统中我不使用这个form_helper它自动合并了CodeIgniter的CSRF保护,而不是我有原生的的HTML。我担心的是我是否需要做任何事情来实现CodeIg