问题标签 [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 投票
1 回答
387 浏览

python - Django - 在 API 视图上设置 CSRF 令牌

我正在创建一个 API 端点来接收数据并根据所述数据创建模型对象。我目前有这个 API 的两个视图——一个发送数据,一个接收数据——但实际上,我将使用脚本而不是视图来发送数据。我正在处理视图以在我的本地主机上接收数据,这就是为什么我现在有了发送它的那个。

我面临的当前问题是将数据发送到 API 端点的函数。我的 POST 请求返回 403 错误并显示Forbidden (CSRF cookie not set.): /reports/swipe/data。为了解决这个问题,我尝试添加一个 CSRF cookie,但我对 API 端点非常陌生,并且遇到了一些麻烦。我已经尝试过使用@csrf_exempt和添加verify=False其他东西,但我还没有取得任何成功。我还花了几个小时在网上搜索可以提供帮助的资源。以下是我的部分代码。我会很感激人们可以提供的任何建议。

视图.py:

网址.py

0 投票
0 回答
735 浏览

ruby-on-rails - Rails 6形成authenticity_token不匹配会话[:_csrf_token]

在将我们的应用程序升级到 Rails 6 并使用所有默认配置设置(包括 per-form CSRF 令牌)后,我看到有时用户会收到ActionController::InvalidAuthenticityToken,但是authenticity_token在查看堆栈跟踪时,表单的参数中有只是与当时会话的_csrf_token属性不同。我自己无法重现它,但它在我们的错误监控工具中发生得足够多,我想纠正它。

我们没有对会话配置做任何自定义(事实上,我们根本没有为会话做任何初始化程序),所以我很好奇是什么导致会话的令牌与表单的不匹配?

0 投票
2 回答
829 浏览

php - 错误:419|页面已过期(Laravel 6.0 -Mysql)

我已经添加了@csrf令牌和表单以及标题中的元标记,但仍然得到相同的错误。当我注册它工作并将我重定向到主页。没关系,但是当我登录时它不会将我重定向到主页,尽管凭据很好而且很好。

登录.blade.php

WEB.PHP

登录控制器.php

0 投票
1 回答
1153 浏览

python - Flask AJAX:错误请求。CSRF 令牌丢失

我在使用 ajax 向烧瓶服务器发送请求时遇到问题。我附上了 HTML、js 和 python 文件以供参考。 Html 表单图像

AJAX 请求代码

蟒蛇文件

我在互联网上研究过这个问题的各种解决方案。如果我能摆脱这个问题,我将不胜感激。

0 投票
0 回答
87 浏览

haskell - Yesod 非 AJAX HTML 表单 CSRF 令牌

我刚刚在Yesod中开启了CSRF保护中间件。

我的 jQuery AJAX 调用正在工作,CSRF 令牌按照正常的脚手架添加到标题中。

现在我有一个普通的 HTML“POST”表单,不是由 Yesod 生成的。我想将 CSRF 保护令牌作为隐藏输入。

到目前为止,我的ExampleHandler.hs

(感谢Yesod 1.2 CSRF protection的 Snoymaster )

并在example.hamlet

这种形式有效。

我有很多处理程序,所以我不想在每个处理程序中粘贴代码(或函数)来检索令牌。我也不想将我所有的 HTML 表单都转换为 AJAX。

我尝试将上面的令牌检索片段粘贴到Foundation.hs, 以在任何地方获取令牌,但随后我得到:

在处理程序中example.hamlet拉入的线上。

如何csrftoken在所有处理程序的范围内获取变量?

有没有更好的方法将 CSRF 令牌放入非生成的 HTML 表单中?

谢谢haskellers和Yesod粉丝

0 投票
1 回答
1535 浏览

php - 在 laravel 6.2 中使用带有数据表的 ajax 时 CSRF 令牌不匹配

我正在尝试从数据表中的数据生成 CSV、excel 和 pdf 文件。

我的代码如下 -

在 web.php 中

在费用控制器中

而且,最后在脚本标签中

每次我加载页面时,CSRF即使令牌正确,我也会收到令牌不匹配的错误。

应该做什么?

0 投票
2 回答
464 浏览

django - csrf_exempt 装饰器在基于 Dajngo 函数的视图中不起作用

我在 Django 中使用 React,大多数客户端服务器交互都是通过使用 Django Rest Framework 的 API 完成的。我创建了一个名为 的标准应用程序mail,它有一个标准视图,可以接受带有装饰器的POST请求。但是,每当通过它拨打电话时,总是会给我一个csrf_exemptlogin_requiredajaxAxios403 Invalid CSRF Token error - CSRF Cookie not specified.

视图.py

反应组件

这是我发送的请求

我正在使用brave browser,所以我真的不知道如何获得raw headers. 我可以保证它的有效性,Authorization Token因为它确实适用于其他适当的 API 端点。

0 投票
1 回答
1815 浏览

laravel - cookie 和 html 中的 CSRF 令牌不匹配

如何“正确”检索 CSRF 令牌?

我正在尝试使用 Axios 登录我的 Vue SPA。

我将所有内容都更改为 Vue 组件,Auth::routes();除了php artisan ui:auth. 因此,我不能再@csrf在我的表单上使用,必须通过 axios 的标头发送 csrf 令牌。我已经尝试了几乎所有的 2 天,直到我注意到 Laravel 给我的 cookie 的 XSRF TOKEN 与我在 HTML 中得到的不同......请参阅下面的照片。

这来自开发人员工具。

在此处输入图像描述 在此处输入图像描述

app.blade.php

我添加了这个,以便我可以设置检索 CSRF 令牌并将其附加到 axios 标头。

在此处输入图像描述

在 console.log() 上,我看到了一个不同的令牌。 在此处输入图像描述

我在 console.log() 时得到的令牌:o3nQRW6IqiKdNGOdiHc59pYXXD3sBw8YfbpCPvf7

在此处输入图像描述

为什么不直接从 cookie 中获取 CSRF 令牌然后使用document.cookie?,同样的事情。每当我使用 console.log() 时它都不匹配。

这绝对是无论我做什么,我总是收到 419 错误 CSRF 令牌不匹配的原因。这可能是什么原因造成的?

注意:我只Auth::routes()api.php文件中使用。什么都没有web.php。奇怪的是,我能够注册一次用户,但由于同样的问题,我再也没有注册过。

0 投票
1 回答
490 浏览

spring-boot - 使用 Apple ID 登录的 Oauth2 会返回没有 CSRF 令牌的请求

我正在尝试在 Spring Boot 应用程序中使用 Apple ID 实现登录。我目前正在使用它,以便获得 Apple 登录屏幕,并可以授权访问。但是,当 Apple 重定向回 时https://example.com/myapp/login/oauth2/apple,我的日志中出现以下错误:

如何在不禁用 CSRF 设施的情况下使其正常工作?

0 投票
2 回答
1103 浏览

iframe - Yii2 错误请求 400 - 无法从另一个域的 iframe 登录

我在 domain1.com 上使用 iframe 而 yii2 网络应用程序在 domain2.com

我已经在 domain1.com 的 iframe 的 src 中传递了 domain.com url,并在 yii2 Access-Control-Allow-Origin: * 中使用它来启用 cors

我可以在 domain2.com 上登录,但如果我尝试通过 domain1.com 上的 iframe 登录,它会抛出错误的请求 400 错误

任何帮助将非常感激