csrf 相关问题

Cross Site Request Forgery是一种利用网站对用户浏览器的信任的恶意攻击。

如何设置CORS和RequestMatchers以避免在SpringBoot 3.3中出现403禁止

我创建了一个非常简单的 SpringBoot 应用程序(几乎是一个 CRUD)并为用户添加了 JWT 身份验证。这些请求都经过邮递员测试,并且工作正常并且无需在云中即可与数据库交互

回答 2 投票 0

Jenkins 插件订书机无效标头

我目前正在编写一个Java jenkins插件,我面临着订书机和Java-Javascript方法绑定的问题。 我的 java 文件包含一个方法,当按钮为

回答 1 投票 0

如果实施 JWT,则需要 CSRF 令牌

如果我们实现了基于 JWT 的身份验证和授权,代码中是否仍然需要 CSRF 令牌?

回答 1 投票 0

如何将 django csrf 令牌直接嵌入到 HTML 中?

有没有办法直接从我正在编辑的Python文件中插入csrf令牌?每个会话的令牌都不同,因此将其存储在数据库中并不是很有用。有没有办法

回答 3 投票 0

如何直接在视图中获取csrftoken token?

有没有办法直接获取我视图中的csrftoken?

回答 2 投票 0

为什么我们需要 csrftoken cookie 和 HTML 表单的隐藏输入的 csrfmiddlewaretoken 值?

我正在尝试了解安全性。我很好奇为什么在 Django 中提交表单(POST)时,有 2 个单独的元素包含相同的 csrf 令牌值: csrftoken cookie:{'

回答 3 投票 0

在 Windows 上运行 Docker 映像时出现错误 403,但可以在 RHEL8 上运行

我有一个用 Django 制作的 Web 应用程序,我构建它并在 Linux Redhat 8 中运行它,它运行良好。 尝试使用 Docker 在 Windows 上运行它允许我进入网页,但我无法登录,我只是......

回答 1 投票 0

尝试向 Django 视图发出发布请求时出现错误:禁止(未设置 CSRF cookie。)

我正在尝试创建一个(chrome 扩展 + Django)密码管理器,它将从表单中读取输入框,然后单击“提交”,它将向 Django 视图发出 POST 请求,其中包含的数据......

回答 1 投票 0

SpringSecurity CSRF 保护

我已经使用 Spring Boot 实现了 CSRF 保护,下面是它的工作原理:- 第一次使用基本身份验证对用户进行身份验证。并在 cookie 中提供 jsession id 和 xsrf-token。 现在这个代币已经可用了...

回答 1 投票 0

如果 Spring Security 在服务器级别实现了同源策略,为什么连接到 websocket 时需要 CSRF 保护?

根据 Spring Security 文档,对于 Websocket,在服务器级别实现了 SOP,这与浏览器实现 SOP 的常规 http 相反。然而,Spring Security 还需要...

回答 1 投票 0

如何在symfony中禁用csrf?

我使用了下面的代码,它也有csrf。但是我怎样才能禁用它的csrf呢?我搜索并在登录表单上禁用 CSRF 令牌没有帮助,因为在下面的例子中没有使用 createFormBuilder() ,s...

回答 3 投票 0

暴露会话的 CSRF 保护令牌安全吗?

Django 附带 CSRF 保护中间件,它会生成一个唯一的每个会话令牌以在表单中使用。它会扫描所有传入的 POST 请求以获取正确的令牌,如果...

回答 4 投票 0

尝试登录 django-allauth headless 和 NextJS+NextAuth 时未设置 CSRF Cookie

我一直在学习 Django,并尝试从标准模板迁移到 Django Rest Framework 支持的单独 NextJS 前端。 我在后端实现了 Django-allauth(无头)...

回答 1 投票 0

Laravel 页面在移动设备上已过期 419

我认为,如果你给我一段与 Laravel 页面相关的错误描述,我现在可以告诉你这个问题的作者姓名和准确的发布日期。

回答 3 投票 0

laravel 回调时 get 方法或网关链接(标签)419 过期错误

默认情况下,当使用 post 或 get 方法或链接(标签)从银行网关输入或回调时,Laravel 中会显示错误 419。当我更改会话文件时,问题就解决了...

回答 2 投票 0

SPA + 存储 JWT + REST API 不接受 cookie 身份验证

每个人都在谈论不要将 jwt 存储在本地存储中以确保在线安全。 但事实上,我使用 SPA + Rest API 集成的项目都不是使用 ...

回答 1 投票 0

是否可以仅使用(CSRF)令牌进行身份验证

最近,我了解到每次请求都会自动发送cookie。这种行为使得一些网站容易受到 CSRF 的攻击。据我所知,可以通过使用 CSRF 来防止 CSRF

回答 1 投票 0

未设置 Django CSRF cookie,webhook URL 出现 403 错误

我在尝试处理本地主机上的 Stripe webhooks 时遇到了 Django 的 CSRF 保护问题。我收到 403 Forbidden 错误,并显示消息“CSRF cookie not set.&qu...

回答 1 投票 0

next-auth 5.0.0-beta.18 使用凭据登录错误=缺少CSRF

我有一个最小的设置,如“next-auth”文档中所解释的:“^5.0.0-beta.18”。当从主页http://localhost:3000/调用signIn()时, ./app/page.tsx 我有一个最小的设置,如 "next-auth": "^5.0.0-beta.18" 的 docs 中所述。从主页 signIn() 调用 http://localhost:3000/ 时, ./app/page.tsx <form action={async () => { "use server"; await signIn(); }} > <button type="submit">Sign in</button> </form> 它将我重定向到 http://localhost:3000/api/auth/signin?callbackUrl=http%3A%2F%2Flocalhost%3A3000%2F 并正确呈现我的 login页面 ./app/login/page.tsx <form action={async (formData) => { "use server"; await signIn("credentials", formData); }} > <label> Email <input name="email" type="email" /> </label> <label> Password <input name="password" type="password" /> </label> <button>Sign In</button> </form> 但是单击按钮时出现以下错误: ✓ Compiled /api/auth/[...nextauth] in 86ms (489 modules) ✓ Compiled /login in 196ms (732 modules) POST / 303 in 3328ms [auth][error] MissingCSRF: CSRF token was missing during an action signin. Read more at https://errors.authjs.dev#missingcsrf at validateCSRF (webpack-internal:///(rsc)/./node_modules/@auth/core/lib/actions/callback/oauth/csrf-token.js:45:11) at AuthInternal (webpack-internal:///(rsc)/./node_modules/@auth/core/lib/index.js:71:100) at async Auth (webpack-internal:///(rsc)/./node_modules/@auth/core/index.js:126:34) at async /Users/nickelpaulsen/programmieren/nextjs/auth-last-try/node_modules/next/dist/compiled/next-server/app-route.runtime.dev.js:6:53446 at async e_.execute (/Users/nickelpaulsen/programmieren/nextjs/auth-last-try/node_modules/next/dist/compiled/next-server/app-route.runtime.dev.js:6:44747) at async e_.handle (/Users/nickelpaulsen/programmieren/nextjs/auth-last-try/node_modules/next/dist/compiled/next-server/app-route.runtime.dev.js:6:54700) at async doRender (/Users/nickelpaulsen/programmieren/nextjs/auth-last-try/node_modules/next/dist/server/base-server.js:1377:42) at async cacheEntry.responseCache.get.routeKind (/Users/nickelpaulsen/programmieren/nextjs/auth-last-try/node_modules/next/dist/server/base-server.js:1587:40) at async DevServer.renderToResponseWithComponentsImpl (/Users/nickelpaulsen/programmieren/nextjs/auth-last-try/node_modules/next/dist/server/base-server.js:1507:28) at async DevServer.renderPageComponent (/Users/nickelpaulsen/programmieren/nextjs/auth-last-try/node_modules/next/dist/server/base-server.js:1924:24) at async DevServer.renderToResponseImpl (/Users/nickelpaulsen/programmieren/nextjs/auth-last-try/node_modules/next/dist/server/base-server.js:1962:32) at async DevServer.pipeImpl (/Users/nickelpaulsen/programmieren/nextjs/auth-last-try/node_modules/next/dist/server/base-server.js:920:25) at async NextNodeServer.handleCatchallRenderRequest (/Users/nickelpaulsen/programmieren/nextjs/auth-last-try/node_modules/next/dist/server/next-server.js:272:17) at async DevServer.handleRequestImpl (/Users/nickelpaulsen/programmieren/nextjs/auth-last-try/node_modules/next/dist/server/base-server.js:816:17) at async /Users/nickelpaulsen/programmieren/nextjs/auth-last-try/node_modules/next/dist/server/dev/next-dev-server.js:339:20 at async Span.traceAsyncFn (/Users/nickelpaulsen/programmieren/nextjs/auth-last-try/node_modules/next/dist/trace/trace.js:154:20) at async DevServer.handleRequest (/Users/nickelpaulsen/programmieren/nextjs/auth-last-try/node_modules/next/dist/server/dev/next-dev-server.js:336:24) at async invokeRender (/Users/nickelpaulsen/programmieren/nextjs/auth-last-try/node_modules/next/dist/server/lib/router-server.js:174:21) at async handleRequest (/Users/nickelpaulsen/programmieren/nextjs/auth-last-try/node_modules/next/dist/server/lib/router-server.js:353:24) at async requestHandlerImpl (/Users/nickelpaulsen/programmieren/nextjs/auth-last-try/node_modules/next/dist/server/lib/router-server.js:377:13) at async Server.requestListener (/Users/nickelpaulsen/programmieren/nextjs/auth-last-try/node_modules/next/dist/server/lib/start-server.js:141:13) POST /api/auth/signin?callbackUrl=http%3A%2F%2Flocalhost%3A3000%2F 302 in 10ms GET /login?error=MissingCSRF 200 in 108ms 直接加载登录页面时http://localhost:3000/login我一切似乎都按预期工作。我已经检查了我能找到的与此错误有关的所有内容,但补救措施并没有修复我的错误。 我已将示例上传到 Github:https://github.com/Nighel123/next-auth-error-MissingCSRF。我的auth.ts看起来像这样: ./auth.ts import NextAuth from "next-auth"; import Credentials from "next-auth/providers/credentials"; // Your own logic for dealing with plaintext password strings; be careful! //import { saltAndHashPassword } from "@/utils/password"; export const { handlers, signIn, signOut, auth } = NextAuth({ pages: { signIn: "/login", }, providers: [ Credentials({ // You can specify which fields should be submitted, by adding keys to the `credentials` object. // e.g. domain, username, password, 2FA token, etc. credentials: { email: {}, password: {}, }, authorize: async (credentials) => { let user = { username: "lolli", email: "brolli" }; // logic to salt and hash password //const pwHash = saltAndHashPassword(credentials.password); // logic to verify if user exists //user = await getUserFromDb(credentials.email, pwHash); if (!user) { // No user found, so this is their first attempt to login // meaning this is also the place you could do registration throw new Error("User not found."); } // return user object with the their profile data return user; }, }), ], }); 我实现此工作的方式是在您的服务器组件内部,即 login/page.tsx 使用以下代码从 cookie 中获取 csrf 令牌 import { cookies } from "next/headers"; const csrfToken = cookies().get("authjs.csrf-token")?.value ?? ""; 使用此令牌并将其设置为表单的一部分 <input type="hidden" name="csrfToken" value={csrfToken} /> 现在,每次调用表单操作时,令牌都会随请求一起发送。 Auth.JS 内部很高兴,可以验证令牌。 在此处查看默认登录页面的源代码 - 链接我可以看到他们做了类似的事情。

回答 1 投票 0

Oauth2.0 授权码授予类型 State param 的用例是什么

我想知道从资源所有者那里获取授权代码所传递的状态的用例,消息来源说它用于防止 CSRF 攻击 谁能解释一下如何传递随机字符串...

回答 1 投票 0

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.