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

django - django 在 cookie 中没有 csrftoken

我正在测试发出 POST ajax 请求,但由于没有 csrftoken,我得到了 403。我关注了文档,但是它仍然不起作用,我发现名为 csrftoken 的 cookie 是empty,这意味着$.cookie("csrftoken") return null

有人可以告诉我原因以及如何设置csrftoken到 cookie 中吗?

0 投票
2 回答
55803 浏览

security - CSRF 和 X-CSRF-Token 的区别

  • 在隐藏字段X-CSRF-Token中使用 HTTP 标头或令牌有什么区别?
  • 何时使用隐藏字段,何时使用标题,为什么?

我认为那X-CSRF-Token是我使用 JavaScript / AJAX 但我不确定的时候。

0 投票
1 回答
3012 浏览

python - csrftoken 存储在 Django 数据库中的什么位置?

存储在哪里csrftoken

当我访问 API 端点(注销 API,它不需要参数):

标题在上面。在响应中,我收到一个错误:

因此,后端必须已验证csrftoken.

在后端数据库中,我找不到该csrftoken字段:

在此处输入图像描述

所以我想知道它在加密中保存在哪里session_data

0 投票
2 回答
421 浏览

php - 在 MVC 应用程序中,我应该在哪里生成 CSRF 表单令牌和验证码?

鉴于:

我已经创建HashCaptcha类。Hash创建表单标记。Captcha使用Graphics类来创建图像。自定义会话服务包装类用于处理$_SESSION超全局数据结构。

设想:

我使用依赖注入容器。因此,我想知道在哪里定义可公开访问的 HTML 表单的实例化Captcha和实例化。Hash

假设 1:您应该注入一个子节点,Hash因为需要访问来存储(根据 HTTP 请求)和验证(根据 HTTP 响应)CSRF 令牌和 CAPTCHA 答案。视图不应该访问会话数据结构。CaptchaModel$_SESSION

假设 2:您应该注入HashCaptcha的子代,View因为生成 CSRF 令牌和验证码实际上是 View表示逻辑的一部分,即使它们的验证发生在Model. View允许从 a 直接或间接访问会话数据结构。

第一个假设似乎是答案,但我想确定一下。

摘要示例:

或者

0 投票
1 回答
639 浏览

jmeter - 使用 jmeter 的 odoo 性能(错误请求 CSRF 令牌)

我正在使用 JMETER 测试我自己的 odoo 模块性能,但它无法记录并在 web/login 中给我一个错误的请求 csrf 令牌错误。但是我搜索它,我发现路由中已经 csrf=false,并且在 odoo 10 中成功,但现在我正在使用 odoo 11,这不是成功。odoo 11 中的 csrf 令牌禁用是否会发生任何变化?

0 投票
1 回答
2728 浏览

python-3.x - flask_wtf.csrf CSRF 令牌不匹配 - 无法修复烧瓶错误消息

这是我在登录表单验证中收到的消息:

我打印表单数据session,并且看起来会话是空的。

我了解,会话必须具有令牌,但它丢失了,我不知道我需要做什么才能在会话中获得所需的数据。我按照本教程进行操作,看来,这一切都必须自动设置。

以前我没有使用flask_wtf,一切正常。我检查了有关不匹配令牌或丢失令牌的所有可用问题,但我无法使用他们的建议解决我的问题。

这是我的文件:

__init__.py

视图: auth.py

形式: forms.py

模板: login.html

配置:config.py

我已经尝试了所有的命题,我能够找到: - 我已经hidden_tag()在模板中设置了;- 我已经SECRETE_KEY在配置中设置了;- 我尝试从 更改FlaskFormsForms; - 其他解决方案。

他们都没有帮助。我已经和它坐了三个晚上了。任何建议都会很好。

更新

如果我不使用Blueprint,即如果我使用@app.route(...)而不是@bp.route(...)在我的auth.py,我可以登录,虽然session仍然是空的。所以,现在我不明白蓝图的问题。

0 投票
0 回答
404 浏览

angular - 阿多尼斯 js 和 angular 6 csrf

我正在使用 Angular 6 为前端和 Adonisjs 为后端创建一个 SPA。

现在我陷入了csrf的问题。如果我在 adonis/config/shield.js 中禁用 csrf,我已经完成了我的任务。但是,我不想禁用 csrf。

我在互联网上遵循了一些关于使用 Angular HttpInterceptor 的建议,但仍然无法正常工作。

这是 shield.js 中的 csrf 配置

这是我的 token-interceptor.service.ts

而且我不知道Angular是否拦截了Http。因为根据我的请求,我没有看到任何 X-XSRF-TOKEN 标头。

而且我仍然对 Adonisjs 使用的令牌感到困惑。因为当我登录并console.log(request.csrfToken)得到一个值但该值与数据库中的令牌不同(我使用 mongoDB)。

我应该从一开始就打开我的应用程序就获得 csrf 吗?或者是其他东西?

请建议我如何解决它。

0 投票
1 回答
1398 浏览

security - 将 CSRF Token 放在 GET 请求 URL 中是否有风险?

TL;DR 为什么将 CSRF Token 放在 GET 请求参数中是不好的?

设置问题。

我在 SaaS 应用程序上有一个搜索表单,其中为每个表单(包括 GET 表单)注入 CSRF 令牌。这对我来说似乎很糟糕,但我无法解释为什么而且我被要求这样做。

所有流量均已加密。所以 GET 参数不能被钢丝刮擦。

我在这里看到的最糟糕的情况是某种社会工程,其中恶意行为者会要求某人复制 URL,而用户只是将其交出而不认为这很危险。

否则我真的想不出这样一种情况,如果黑客不费心在中间场景中设置一个人,那么黑客驱动是可能的,在这种情况下,如果没有这个,他们可能会被设置为做更糟糕的事情CSRF 令牌。

我在这里想念什么?

0 投票
1 回答
258 浏览

angular - angular 5 httpclient ,在 post 上,响应不返回自定义标头,仅返回响应对象

使用 Angular 5 common httpClient 进行 http post 调用时,我没有得到实际的 http 标头。我在请求中传递观察:'响应'以获得完整响应(默认情况下,httpClient 仅返回响应正文)。

我想从 http 标头响应中读取 csrftoken 值。我可以看到 csrftoken 在使用 chrome 浏览器网络视图的响应标头中可用。

但是当我在 Angular 中阅读 httpClient 响应时,同样不可用。

    } 在此处输入图像描述

并且响应标头对象在 chrome 调试器上进行调试时看起来像这样,因为您看到 csrftoken 不能用作响应对象上的键

在此处输入图像描述

这是我访问httpheaders的内容

0 投票
1 回答
326 浏览

jhipster - JHipster problem with frontend/gateway communication

following the explanation on separating frontend and gateway, I created two JHipster applications:

  • Gateway using jhipster --skip-client
  • Frontend using jhipster --skip-server --db --auth uaa --uaa-base-name uaa-server

When using Swagger-UI, I can use the default API and the API of my UAA server. I can also see in the drop-down menu my micro-services but when selecting them, I get an error message :

Can't read swagger JSON from http://127.0.0.1:9000/myservice/v2/api-docs

What is wrong in my configuration ? What did I forget ?

[EDIT] I finally found, see below

The second question is about the communication between frontend and gateway when both are running on different machines. Authentication seems to be correct when looking at UAA server but frontend side receives a 403 code. It seems to be a problem with CSRF but I don't know how to handle it. What's the way to deal with CSRF in JHipster ?

PS : I'm pretty sure I will also have problem when making to microservices talk together :)