草庐IT

csrf-protection

全部标签

php - Laravel/无法访问 protected 属性 Illuminate\Database\Eloquent\Collection::$items

我仍在学习Laravel,我正在使用Eloquent来运行我的查询。在我的应用程序中,一个用户可以属于一个圈子。圆圈包含存储库,存储库又包含项目。我正在尝试获取一个圈内属于各种存储库的所有项目。用户模型:publicfunctioncircle(){return$this->belongsTo('App\Models\Circle');}圆形模型:publicfunctionusers(){return$this->hasMany('App\Models\User');}publicfunctionrepositories(){return$this->hasMany('App\Mod

php - 这个 CSRF 保护是如何工作的?

以下是从Facebook的身份验证页面获取的示例。将数据添加到session然后使用javascript重定向到URL背后的想法是什么?另外为什么要对uniqid进行md5哈希?top.location.href='".$dialog_url."'");}if($_REQUEST['state']==$_SESSION['state']){$token_url="https://graph.facebook.com/oauth/access_token?"."client_id=".$app_id."&redirect_uri=".urlencode($my_url)."&client

php - laravel 5 csrf_token 值为空

为什么laravel5csrf_token值总是空的?我如何获得该token值?我试过了,{!!csrf_token!!},{{csrf_token}}and{{Form::open()}}....{{Form::close()}}我的输出 最佳答案 这是因为您没有使用web组中间件。Laravel足够聪明,知道如果您不使用该组,则不需要token。尝试在Route::group(['middleware'=>'web']...中移动你的路线并告诉我们它:)来源:不久前我犯了同样的错误。

javascript - 如何将 codeigniter 的 CSRF token 传递给 Paypal Express Checkout?

我正在将PaypalExpressCheckout与服务器端REST集成到我的codeigniter网站中。根据Paypal文档,我将以下内容添加到我的结帐页面:varCREATE_PAYMENT_URL='https://#######/paypal/create';varEXECUTE_PAYMENT_URL='https://######/paypal/execute';paypal.Button.render({env:'production',//Or'sandbox'commit:true,//Showa'PayNow'buttonpayment:function(){re

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 - 拉维尔 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 - 找出一个方法是 protected 还是公共(public)的

使用这段代码,我试图测试我是否可以调用某些函数if(method_exists($this,$method))$this->$method();但是现在我希望能够在$methodprotected情况下限制执行,我需要做什么? 最佳答案 您需要使用Reflection.classFoo{publicfunctionbar(){}protectedfunctionbaz(){}privatefunctionqux(){}}$f=newFoo();$f_reflect=newReflectionObject($f);foreach($f

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