小编Dis*_*ame的帖子

Laravel在控制器中手动检查CSRF

我正在使用Laravel 5.5.当我从laravel刀片发送POST请求时.一切都很好:

$.post({
    url: 'http://localhost/check',
    data: {
        _token: CSRF_TOKEN,  // I have CSRF token variable above.
        test: "it works"
    }
})
Run Code Online (Sandbox Code Playgroud)

但我想用socket.io> node.js> laravel发送该请求:

socket.emit('checkPost', { token: CSRF_TOKEN });
Run Code Online (Sandbox Code Playgroud)

index.js

socket.on('checkPost', function (csrf) {
    request.post({
        url: 'http://localhost/check',
        form: {
            _token: csrf.token,
            test: "it works"
        }
    });
});
Run Code Online (Sandbox Code Playgroud)

用ajax一切都好.在这里,我得到了令牌不匹配.为什么?

当我在VerifyCsrfTokenfor/check路由中禁用令牌验证时,节点请求也会起作用.

我该如何解决这个问题?也许有控制器csrf检查方法?然后我会检查控制器中的帖子csrf ..提前谢谢,抱歉我的英语不好.

php node.js socket.io laravel

6
推荐指数
1
解决办法
870
查看次数

标签 统计

laravel ×1

node.js ×1

php ×1

socket.io ×1