Laravel从外部发布提交中获取数据:tokenmismatchException(不添加_token)



我的表格只能控制动作URL。因此无法添加'_token'。是否可以将数据获取到我的控制器

外部HTML形式在尊重位置

<!DOCTYPE html>
<html>
<head>
    <title>Test HTML</title>
</head>
<body>
<form method="post" action="http://www.mylaravelproject.com/confirm">
    <input type="textbox" name="fname">
    <input type="textbox" name="lname">
    <input type="submit">
</form>
</body>
</html>

我的Laravel路线

Route::any('confirm','PageController@confirm');

内部控制器

public function confirm(){
return Input::all();
}

这是可能的??

谢谢

编辑:

发现我可以通过删除行(内部/httm/kenel.php)

来做到这一点
'AppHttpMiddlewareVerifyCsrfToken',

第二个问题但是它的安全风险。我只需要在此特定路线上删除verifycsrftoken。

这是可能的吗?

此功能将在开箱即用的Laravel 5.1中提供。

但是,当我们等待Laravel 5.1时 - 您可以在5.0中的AppHttpMiddlewareVerifyCsrfToken文件中执行此操作:

<?php namespace AppHttpMiddleware;
use Closure;
use IlluminateFoundationHttpMiddlewareVerifyCsrfToken as BaseVerifier;
use IlluminateSessionTokenMismatchException;
class VerifyCsrfToken extends BaseVerifier {
    protected $excludedRouteGroups = ['confirm', 'stripe'];

    public function handle($request, Closure $next)
    {
        if ($this->isReading($request) || ($this->excludedRoutes($request)) || $this->tokensMatch($request)) {
            return $this->addCookieToResponse($request, $next($request));
        }
        Throw new TokenMismatchException;
    }

    protected function excludedRoutes($request)
    {
        foreach($this->excludedRouteGroups as $route) {
            if ($request->segment(1) === $route) {
                return true;
            }
        }
        return false;
    }
}

最新更新