【问题标题】:How to have csrf token from mobile in Laravel Application如何在 Laravel 应用程序中从移动设备获取 csrf 令牌
【发布时间】:2016-01-25 13:41:49
【问题描述】:

我正在构建一个cordova应用程序,

在登录认证中

我从 Web 发送 _tokenemailpassword

但是在移动端,我无法生成_token,因为它基本上是一个.html 文件。

我计划以document.ready 的形式向控制器发出请求,控制器将生成_csrf 令牌。这样我就可以将该令牌用于该请求。

但可以从浏览器的网络选项卡中观看。

如何在不知情的情况下将 csrf _token 设置为表单(安全方式)。

或者如何在没有任何漏洞的情况下进行处理

【问题讨论】:

  • 你可以使用 JWT(JSON Web Tokens)之类的东西,为什么要重新发明轮子?
  • 令牌已经由 Laravel 应用程序生成,我只想给你那些令牌,但它只能在页面是 .php 时生成,因为我在 cordova 中构建我的应用程序我只能有 .html 文件.. 那就是不能以默认方式生成令牌,JWT 安全吗?
  • 是的,非常安全,因为您使用 laravel,我建议您:github.com/tymondesigns/jwt-auth
  • 要走的路是JWT ...
  • 你不能在html文件中创建csrf token。你可以使用get请求来避免csrf token

标签: php web-services cordova laravel csrf


【解决方案1】:

要禁用特定 url 的 csrf 令牌,请按照此操作。 首先去 app/Http/Middleware/VerifyCsrfToken.php 然后使用你的 url 来避免 csrf 令牌

protected $except = [
    'my/url',
];

【讨论】:

    【解决方案2】:

    您可以在 laravel 应用程序中对所有路由禁用 CSRF 令牌检查。只需打开 app/Http/Middleware/VerifyCsrfToken.php 文件并在 $except 数组中添加 '*'

    例如。

    protected $except = [
            '*'
        ]; 
    

    我的 VerifyCsrfToken.php 文件

    <?php
    
    namespace App\Http\Middleware;
    
    use Illuminate\Foundation\Http\Middleware\VerifyCsrfToken as BaseVerifier;
    
    class VerifyCsrfToken extends BaseVerifier
    {
        /**
         * The URIs that should be excluded from CSRF verification.
         *
         * @var array
         */
        protected $except = [
            '*'
        ];
    }
    

    【讨论】:

      猜你喜欢
      • 2018-02-09
      • 1970-01-01
      • 1970-01-01
      • 2016-02-04
      • 2015-10-16
      • 2018-01-21
      • 2023-02-18
      • 1970-01-01
      • 2019-12-21
      相关资源
      最近更新 更多