美文网首页
laravel框架的重定向问题以及csrf验证问题

laravel框架的重定向问题以及csrf验证问题

作者: 只想单纯的码代码 | 来源:发表于2019-05-14 11:09 被阅读0次

    1. 在laravel框架安装成功后,你可能会遇见在路由访问PHP时,除了默认路由 “\” ,可以访问到主界面,即显示 laravel5的界面。其余路由全部404,

          导致这个问题出现的原因是laravel框架重定向问题,只能定向到public下的index文件。所以其余路由访问都为404。
          解决这个的问题方发也很简单,找到你本项目的laravel框架配置文件(laravel.conf)文件
          该配置文件是在你本地服务器下自动生成的配置文件。在nfinx/conf文件目录下,该目录下可能会存在多个laravel配置文件,如rewrite、vhosts、vhosts/rewrite文件夹下,可以分别输入以下代码进行测试。

    location / {
       try_files $uri $uri/ /index.php?$query_string;
       if (!-e $request_filename){ 
         rewrite ^/(.*) /index.php last; 
      }
    }
    
    项目框架配置文件

    2. 在laravel框架中,如果不做任何配置就进行post访问,会报错419,或者500

    而出现这个问题的原因是laravel框架有csrf验证,

    解决方发:

    打开文件:app\Http\Middleware\VerifyCsrfToken.php

    1. 关闭全部csrf验证。
      在VerifyCsrfToken.php文件中加入以下代码,即关闭全部验证
     public function handle($request, Closure $next){
    
            if($request->method() == 'POST'){
                return $next($request);
            } 
    
            if ($request->method() == 'GET' || $this->tokensMatch($request)) {
                return $next($request);
            }
    
            throw new TokenMismatchException;
        }
    
    1. 关闭部分csrf验证
      在VerifyCsrfToken.php文件中进行修改$except属性,即关闭post请求的http://域名/v1/*,的csrf验证
     protected $except = [
    
            'v1/*'
    
        ];
    

    相关文章

      网友评论

          本文标题:laravel框架的重定向问题以及csrf验证问题

          本文链接:https://www.haomeiwen.com/subject/dfujaqtx.html