问题标签 [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.
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
ruby-on-rails - Rails 6形成authenticity_token不匹配会话[:_csrf_token]
在将我们的应用程序升级到 Rails 6 并使用所有默认配置设置(包括 per-form CSRF 令牌)后,我看到有时用户会收到ActionController::InvalidAuthenticityToken
,但是authenticity_token
在查看堆栈跟踪时,表单的参数中有只是与当时会话的_csrf_token
属性不同。我自己无法重现它,但它在我们的错误监控工具中发生得足够多,我想纠正它。
我们没有对会话配置做任何自定义(事实上,我们根本没有为会话做任何初始化程序),所以我很好奇是什么导致会话的令牌与表单的不匹配?
php - 错误:419|页面已过期(Laravel 6.0 -Mysql)
我已经添加了@csrf
令牌和表单以及标题中的元标记,但仍然得到相同的错误。当我注册它工作并将我重定向到主页。没关系,但是当我登录时它不会将我重定向到主页,尽管凭据很好而且很好。
登录.blade.php
WEB.PHP
登录控制器.php
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粉丝
php - 在 laravel 6.2 中使用带有数据表的 ajax 时 CSRF 令牌不匹配
我正在尝试从数据表中的数据生成 CSV、excel 和 pdf 文件。
我的代码如下 -
在 web.php 中
在费用控制器中
而且,最后在脚本标签中
每次我加载页面时,CSRF
即使令牌正确,我也会收到令牌不匹配的错误。
应该做什么?
django - csrf_exempt 装饰器在基于 Dajngo 函数的视图中不起作用
我在 Django 中使用 React,大多数客户端服务器交互都是通过使用 Django Rest Framework 的 API 完成的。我创建了一个名为 的标准应用程序mail
,它有一个标准视图,可以接受带有装饰器的POST
请求。但是,每当通过它拨打电话时,总是会给我一个csrf_exempt
login_required
ajax
Axios
403 Invalid CSRF Token error - CSRF Cookie not specified.
视图.py
反应组件
这是我发送的请求
我正在使用brave browser
,所以我真的不知道如何获得raw headers
. 我可以保证它的有效性,Authorization Token
因为它确实适用于其他适当的 API 端点。
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
。奇怪的是,我能够注册一次用户,但由于同样的问题,我再也没有注册过。
spring-boot - 使用 Apple ID 登录的 Oauth2 会返回没有 CSRF 令牌的请求
我正在尝试在 Spring Boot 应用程序中使用 Apple ID 实现登录。我目前正在使用它,以便获得 Apple 登录屏幕,并可以授权访问。但是,当 Apple 重定向回 时https://example.com/myapp/login/oauth2/apple
,我的日志中出现以下错误:
如何在不禁用 CSRF 设施的情况下使其正常工作?
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 错误
任何帮助将非常感激