问题标签 [csrf-token]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
146 浏览

laravel - 使用 csrf_token 的未知错误。拉拉维尔

我需要使用csrf_token(来自laravel)连接一些文件,但我有未知错误,例如:

  • <link rel="stylesheet" href="{{ asset('css/app.css) }}">
    语法错误,意外 ''css/app.css)); ?>">' (T_ENCAPSED_AND_WHITESPACE)
  • <script> var BASE_URL = '{{ URL::to('/') }}'; </script>
    语法错误,意外的“?”
  • <script src="{{ asset('js/app.js') }}"></script>
    语法错误,意外的 'js' (T_STRING),期待 ')'

0 投票
0 回答
640 浏览

python - CSRF 令牌不匹配 - 烧瓶 wtforms

我正在尝试使用烧瓶 wtforms 设置一个非常简单的登录表单。

出于某种原因,我收到了验证异常

这是html

这是相关的片段

我已经尝试调试 wtforms 来查找错误,从日志中看起来一切正常,并且令牌匹配..

我真的不知道为什么它会失败,因为它似乎是同一个令牌..

我尝试从 form.csrf 来回更改form.hidden_tag(),尝试使用此处描述的 csrf 类https://flask-wtf.readthedocs.io/en/v0.12/csrf.html 似乎没有任何效果..任何帮助都会很棒..

0 投票
0 回答
327 浏览

spring-boot - Spring Security - 身份验证后响应中的错误 CSRF 令牌

我对Spring Security的理解是,认证的时候,在认证之前会生成一个csrf token,在认证成功之后再生成一个。

我注意到身份验证后在响应标头中返回了错误的 csrf 令牌,然后在尝试命中 POST 端点时导致 403 响应(无效的 CSRF 令牌)。该项目可以在github上找到;在这里。以下是一些特定于安全性的代码:

弹簧安全配置:

在响应头中添加 CSRF 令牌的过滤器:

过滤基本身份验证:

基本身份验证提供程序:

为了确认问题与无效的 csrf 令牌有关,我打印了 spring 在身份验证前后生成的 csrf 令牌,并将这些令牌与响应标头中的令牌进行了比较。此外,当我使用调试级日志记录运行应用程序时,在我通过身份验证后尝试访问经过身份验证的 POST 端点时,我会从 spring 收到以下错误消息:Invalid CSRF token found for http://localhost:8080/auth/status

执行此测试时,我使用了以下 curl 命令:

PS:对于在本地运行我上面链接的项目的任何人,当您运行脚本/构建时,您将被要求在本地计算机上提供您的凭据。这是因为我在 linux 机器上使用 docker,这需要超级用户权限。

0 投票
1 回答
529 浏览

c# - HttpClient 与 csrf_token 响应未经授权的错误

因此能够使用邮递员手动执行此操作。涉及两个步骤,首先使用用户 ID/密码进行获取。从响应中获取 csrf 令牌,在另一种发布方法中附加相同的内容。第二次调用不需要身份验证,但只有带有 JSON 有效负载的令牌返回 200 响应代码。

现在在 C# 中尝试了这些步骤并得到 UnAuthorized 错误。不确定是否附加了正确的令牌。下面是代码。

需要让这个工作......有什么想法吗?

附加邮递员转储

0 投票
4 回答
21761 浏览

laravel - Laravel + Vue.js (axios) - CSRF 令牌不匹配

我对 Laravel 中的 csrf 令牌有疑问。有时请求 POST(通过 axios)返回419代码“CSRF 令牌不匹配”,但请求标头包含 CSRF 和 XSRF 令牌。有趣的是,它不会在隐身模式下发生。

在此处输入图像描述

应用刀片:

bootstrap.js:

内核.php:

我试图清除缓存和配置但没有结果。任何想法如何解决它?

0 投票
1 回答
1948 浏览

csrf - 419 CSRF Token Mismatch 在注销并重新登录后

在我注销并想要重新登录后,我收到以下错误:

消息:“CSRF 令牌不匹配。”,异常:“Symfony\Component\HttpKernel\Exception\HttpException”

我定制了一些部分,LoginController所以它可能与此有关。我尝试在未修改的情况下进行搜索,LoginController但找不到任何东西。我vuex商店的登录功能:

我的注销功能,也来自我的vuex商店:

这是我的登录控制器:

我错过了什么吗?

更新: 如果我刷新页面,我不会再收到错误消息。这可能与我有一个使用vue-router. 所以我想我需要刷新页面以避免 419 错误。但这不是一个理想的情况。有人有这方面的经验吗?

0 投票
1 回答
790 浏览

csrf - 从响应标头中解析 Django CSRF 令牌

首先,我知道有很多关于 CSRF 令牌 / Django 的问题,但我没有发现任何对我所处的场景有用的问题。

我正在尝试将 Django 的内置密码重置端点与 React 前端一起使用。我的目标是使用后端功能(生成令牌、电子邮件响应等),同时通过 React 显示相关表单,而不是使用 Django 模板。前端和后端托管在两个不同的服务器上。

在我的前端代码中,password_reset当我的 React 组件挂载以获取 CSRF 令牌时,我会调用端点。

令牌在响应标头中接收为

Set-Cookie: csrftoken=b...e; expires=Sun, 10 Jan 2021 21:50:20 GMT; Max-Age=31449600; Path=/; SameSite=Lax

这是我的问题开始的地方 - 我无法在我的存储选项卡中检查令牌,并且令牌值不存在于document.cookie. 理想情况下,我想使用类似于getCookieDjango 文档中演示的方法

但这假设令牌值正确存储在document.cookie.

我的相关 Django 设置都是默认值,尽管我已经通过有效选项进行了轮换,但CSRF_COOKIE_SAMESITE无济于事CSRF_USE_SESSIONS

另请注意,如果我在POST安装组件后发出请求,则在请求上成功设置了令牌 - 但我需要在正文中添加默认 Django 身份验证视图的令牌!

任何建议或见解将不胜感激!

伊恩

0 投票
1 回答
852 浏览

php - Symfony 5:CSRF 令牌无效

我知道这已经被问过很多次了,我在过去的一个小时里一直在网上搜索,但我找不到解决方案。

我想要做的是更新我的用户数据,在这种情况下,我的用户名。

我安装了探查器来检查错误和类似的东西,我什至没有提交要更改的表单,我收到一个错误,表明令牌无效。我检查了来源,看看它是否在那里,是的。

图像

PS:图像是这样的,因为我需要 10 个代表。

0 投票
2 回答
35 浏览

django - csfr 令牌和 ajax 调用的问题

我试图在网站上实现一个按钮,按下它后会自动在服务器上运行一个 python 函数并将一些值复制到用户的剪贴板中。剪贴板复制运行良好,但我无法运行 python 函数。

每当我尝试时,我都会收到错误 403,我认为这是由于 csfr 令牌的问题。谁能帮我解决这个问题?

这是我的 HTML

这里是运行的 .js

0 投票
1 回答
242 浏览

php - 带有 Nginx 的 Symfony 3.4 上的 CSRF 令牌无效

我有一个 Symfony 3.4 应用程序,它曾经在我上次的主机(apache)上运行良好但我改变了主机,我现在在 Debian 上使用 Nginx,使用 Symfony 在这里提供的 nginx 配置:https ://symfony.com /doc/3.4/setup/web_server_configuration.html#nginx

我试图让我的 Symfony 应用程序在新主机上运行,​​但我有一个表单错误。验证时,我有一个“无效的 CSRF 令牌”。我检查了仍然为空的 php 会话文件夹(正常 ??)。我尝试 chmod 777,但同样的问题。(我确定 php 会话的位置,因为我使用 phpinfo() 找到了它)。我还尝试 chown 和 chgrp 到这个目录上的 www-data ...

我的应用程序可通过 HTTPS 访问。

关于如何找到 pb 的任何想法?

非常感谢 !