草庐IT

X-CSRF-TOKEN

全部标签

php - 为什么 codeigniter2 不以更安全的方式(例如 session )存储 csrf_hash?

为什么生成的CSRF保护token没有像建议的那样通过SESSION保存和使用here?目前在CI2中,CSRF保护机制(Security类)是这样的:1.在_csrf_set_hash()函数中为CSRFtoken生成一个唯一值:$this->csrf_hash=md5(uniqid(rand(),TRUE));2.将该标记插入表单隐藏字段(使用form_open帮助器)3.用户提交表单,服务器通过POST获取token。CI在Input类的“_sanitize_globals()”函数中进行token校验:$this->security->csrf_verify();4.Secur

php - 使用 CodeIgniter CSRF 保护为 Web 应用程序创建 API

我有一个使用CodeIgniter2构建的Web应用程序,我在其中启用了CSRF保护。$config['csrf_protection']=TRUE;我的friend正在为此创建移动应用程序,因此他需要API来与Web应用程序通信。我使用thistutorial在CI中创建了RESTfulAPI.移动应用发出的所有请求都是POST请求。我面临的问题是,由于启用了CSRF保护,并且从移动设备发出的POST请求不携带任何“CSRFtoken”,因此它抛出500内部服务器错误。但是,如果我禁用CSRF保护,一切都工作正常。实现它的正确方法是什么?我应该在移动设备上生成token吗?或者我应该

php - 在 Laravel 中设置 CSRF 保护的更好方法是什么?

将此添加到BaseController.php:publicfunction__construct(){//Runthe'csrf'filteronallpost,put,patchanddeleterequests.$this->beforeFilter('csrf',['on'=>['post','put','patch','delete']]);}或将其添加到routes.php中:Route::when('*','csrf',array('post','put','patch','delete'));哪种方法更好,为什么? 最佳答案

php - Laravel - JWT Auth 无法从请求中解析 token

我在我的中间件中添加了以下代码,用于使用JWTAuth进行用户身份验证,它适用于中间件处理的所有路由。publicfunctionhandle($request,Closure$next){if($request->has('token')){try{$this->auth=JWTAuth::parseToken()->authenticate();return$next($request);}catch(JWTException$e){returnredirect()->guest('user/login');}}}但是对于使用PostMethod的一条路线,其中token已正确传递

php - 拉维尔 5.4 : Exclude a route with parameters from CSRF verification

根据Laravel5.4Docs,您可以通过将路由添加到VerifyCsrfToken中间件的$except属性来从CSRF验证中排除路由。但是出于某种原因,除非从主路由本身中排除,否则无法使用确切的路由名称排除带有参数的路由。预期排除的路线:protected$except=['main/{id}/sub/*'];仅适用于:protected$except=['main/*'];如何从CSRF验证中排除带有参数的路由? 最佳答案 因为在引擎盖下这个功能使用request()->is()方法,也许这对你有用:protected$ex

php - 去除特定路由的Csrf验证

我正在尝试使用我的laravel应用程序创建一个api,但是当我向路由发出post请求时,Laravel默认情况下会尝试验证csrftoken。所以,我想删除api路由的验证。我想维护前端请求的验证。但是,当我在app/Http/Middleware/VerifyCsrfToken.php中添加异常路由时,出现此错误:block_exceptionclear_fix这是VerifyCsrfToken.php 最佳答案 只需扩展VerifyCsrfToken并添加要排除的url。except_urls).'#';if($this->i

javascript - JWT token 和 CSRF

关于JWT和CSRF一起工作,我仍然不清楚。我了解JWT的基础知识(它是什么以及它是如何工作的)。我也理解CSRF在与session一起使用时。同样,我知道将JWT存储在localStorage中存在风险,这就是您需要csrftoken的原因。所以我的问题是,我该如何同时使用它们。为简单起见,假设我有一个登录页面。1)我让用户登录,如果用户通过身份验证,一旦使用了电子邮件和密码,服务器将发送一个CSRF,并将使用JWT存储一个httpOnlycookie(我如何使用PHP设置cookie)。我的理解是,您可以使用header('Set-Cookie:X-Auth-Token=token

php - Jwt token 如何在登录系统中真正起作用?

关闭。这个问题需要更多focused.它目前不接受答案。想改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭4年前。Improvethisquestion我正在努力为这个问题找到一个稳定的答案,但没有得到任何答案。我的疑惑是我们是否需要将用户名和密码存储在token中?如果是,那么如何存储这些数据,即这些数据在负载部分中的存储位置是在sub中吗?我们是否需要在注册时将token存储在数据库中Jwttoken是否对于同一组数据是唯一的(我认为没有时间不同的原因)如何验证用户?那首先是从输入中创建数据的标记然后创建token并使用数据库中的token验证它?如

php - CodeIgniter + jQuery UI 自动完成 = 500 内部服务器错误(带有代码)由于 CSRF 设置为 TRUE

查看代码如下:$(function(){$("#input").autocomplete({source:function(req,add){$.ajax({url:'test/ac2',dataType:'json',type:'POST',//data:req,data:'input='+req,success:function(data){if(data.response=='true'){add(data.message);}}});},minLength:2,select:function(event,ui){$(this).end().val(ui.item.value);

php - Drupal 7 token 替换

在变量中存储token替换的正确方法是什么?或者我应该直接调用他们吗?比如:$author_uid=[node:author:uid];$name=[node:title];$picture=[node:field-image-upload:file];$link=[node:url];给我一​​个错误:PHPParseerror:syntaxerror,unexpected':'我做错了什么吗?另外关于这一行:$picture=[node:field-image-upload:file];我真正想要获取的是指向该图像文件的url链接。我如何使用token执行此操作?