标签: csrf-token

在 Iframe 中嵌入 Laravel 应用程序,登录时出现 302 错误

Laravel app我正在尝试在 中的其他一些域中使用iframe

我写了一个FrameMiddleware,其中我在标头中允许该域

 public function handle(Request $request, Closure $next)
    {
        $response = $next($request);
        $response->header('Content-Security-Policy', 'frame-ancestors http://localhost');
        return $response;
    }

Run Code Online (Sandbox Code Playgroud)

并通过使用上面的中间件 cors origin 错误被删除。

因为我Laravel app需要来自 iframe 的身份验证。它使用表单提交,而不是 API。然后它开始给出一个
419 error. VerifyCsrfToken我通过在中间件数组中添加登录路由$except来排除csrf错误来解决。

然后我检查登录请求给出 302network错误post

iframe 中的 laravel 对于 post 请求给出 302 错误

我测试了身份验证方法,经过身份验证的用户对象通过页面重定向返回Dashboard,然后302 error code显示。

而且,我已经开始same_site => null工作了config/session.php,但仍然没有工作。

php authentication iframe laravel csrf-token

4
推荐指数
1
解决办法
3603
查看次数

Symfony 4:尝试更新由 makerBundle 生成的登录表单验证器的问题,关于 csrfToken 的 RuntimeException

我有一个项目是前一段时间用 Symfony 4 开始的。我从php bin/console make:auth命令生成了登录文件。今天我看到新文档中的文件信息发生了一些变化,所以我想更新我的。我再次运行相同的命令,重命名新的控制器和身份验证文件。但是当我尝试时,我收到了这个错误:

无法自动装配服务“App\Security\LoginFormAuthenticator”:方法“__construct()”的参数“$csrfTokenManager”引用接口“Symfony\Component\Security\Csrf\CsrfTokenManagerInterface”,但不存在这样的服务。您是否创建了实现此接口的类?

这是什么意思?

symfony4 csrf-token

3
推荐指数
1
解决办法
750
查看次数

Rails API 应用程序的 CSRF 令牌

在 Rails API 应用程序中,我们没有现成的 CSRF 保护。特别是,不建议将访问令牌(例如 JWT)存储在 localStorage 中,建议存储在 cookie 中(带有 httpOnly 标志、SameSite 等)。但这一次我们很容易受到潜在的 CSRF 攻击。在全栈生成的 Rails 应用程序中,每次打开表单时都会生成并嵌入一个 CSRF 令牌。但是,我不知道也找不到任何我们如何在 Rails API 应用程序中使用令牌来防止 CSRF 的信息。我们有最佳实践吗?或者有人可以建议一种方法吗?我使用访问和刷新 JWT。

security ruby-on-rails csrf rails-api csrf-token

3
推荐指数
1
解决办法
2161
查看次数

如何在 Laravel 中使用 jQuery ajax 请求自动添加 X-CSRF-TOKEN

如何在我的 Laravel 应用程序的 ajax 请求(GET 或 POST)中自动添加 csrf 令牌,而无需手动将其添加到每个请求中。

我的ajax请求

   $.ajax({
      type:'post',
      url: "/email/unique",
      data: { "_token": "{{ csrf_token() }}", "email": email }
      success: function(data) {
        console.log(data);
      }
   });
Run Code Online (Sandbox Code Playgroud)

javascript ajax jquery laravel csrf-token

2
推荐指数
1
解决办法
4677
查看次数

如何在 Codeigniter 中禁用某些控制器的 csrf 令牌

在我的网络应用程序中,csrf 令牌工作正常。但我想禁用从我的 Android 应用程序进行 API 调用的 API 调用。我正在为我的 API 使用另一种身份验证。请告诉我如何禁用 API 控制器的所有功能的 csrf 令牌。我尝试在控制器中添加访问权限作为标头,但它不起作用。请帮我。

public function __construct() {
    
    header('Access-Control-Allow-Origin: *');
    header('Access-Control-Allow- Methods: POST, GET, PUT, DELETE, OPTIONS');
}
Run Code Online (Sandbox Code Playgroud)

php codeigniter-3 csrf-token

2
推荐指数
1
解决办法
6851
查看次数

在flask_restful中flask_jwt_extended CSRF_Token

我只在 cookie 中设置访问令牌。但我在cookies中也发现了CSRF_token。我不明白为什么会发生以及它是如何发生的。

看我的代码:- 设置访问令牌。

     access_token = create_access_token(identity=user.id, fresh=True)
     refresh_token = create_refresh_token(identity=user.id)
     resp=Response.SUCCESS(data={'id': user.id, 'refresh_token': refresh_token})
     set_access_cookies(resp,access_token)
     return resp
Run Code Online (Sandbox Code Playgroud)

饼干

邮递员饼干

当我使用@jwt_requiured((locations=['cookies'],fresh=True) 它时返回Missing CSRF token。在这里,我需要通过 header 传递 CSRF 令牌。有谁知道这里发生了什么?我应该做什么?

python access-token flask-restful flask-jwt-extended csrf-token

2
推荐指数
1
解决办法
1293
查看次数

这是防止 Next.js 应用程序中发生 CSRF 攻击的有效方法吗

我正在构建一个 Next.js 应用程序,在其中一个页面上,我需要调用其中一个路由/api

调用此 API 路由会执行状态更改操作,因此确保调用不是来自试图冒充我的用户的攻击者非常重要。

以下面为例:

fetch('/api/grantPermissions', {
  headers: ...,
  method: 'POST',
  body: JSON.stringify({resource: 'someresourceid', permission: 'somepermission'})
})
Run Code Online (Sandbox Code Playgroud)

我注意到没有很多解决方案可以保护 Next.js API 路由免受 CSRF 攻击,所以我考虑的是以下内容:

  1. 当用户登录时,会生成一个随机的32字节十六进制字符串
  2. 它存储在会话对象中(使用iron-session)
  3. 使用 getServerSideProps(),将存储在会话中的字符串注入到需要进行 fetch 调用的页面中
  4. 当进行 fetch 调用时,CSRF 令牌会附加到请求中(例如在正文或自定义标头中)
  5. 然后路由/api/grant检查提供的 CSRF 令牌是否与会话中的相同

这是使用同步器令牌模式防止 CSRF 攻击的安全方法吗?这种方法可能会导致哪些漏洞?

http csrf next.js csrf-token

2
推荐指数
1
解决办法
1万
查看次数

对 laravel csrf 令牌不匹配错误做出反应,即使在尝试了很多之后也无法正常工作

我尝试过以下事情。但当 sedning post 请求从 React 发送到 Laravel 时,CSRF 问题仍然存在

我已经使用 barryvh 中间件 cors 来修复 cors 问题

在 cors.php 中

'supportsCredentials' => false,
   'allowedOrigins' => ['*'],
   'allowedHeaders' => ['Content-Type', 'X-Requested-With','token','user_token','_token','X-CSRF-TOKEN'],
   'allowedMethods' => ['*'], // ex: ['GET', 'POST', 'PUT',  'DELETE']
   'exposedHeaders' => [],
   'maxAge' => 0,
Run Code Online (Sandbox Code Playgroud)
  1. 页面中的元标记

       return (
          <div className="Login" style={{fontFamily: 'Montserrat, sans-serif',height:'36em'}}>
            <input type="hidden" name="_token" value="{{ csrf_token() }}"></input>
            <meta name="csrf-token" content="{{ csrf_token() }}"/>
            {/* { csrf_token() } */}
            {/* { @csrf } */}
            {/* { csrf_field() }*/}
    
    Run Code Online (Sandbox Code Playgroud)
  2. 根目录中的元标记 (index.html)

  3. 尝试遵循帖子中的注释代码 …

php laravel csrf-token

1
推荐指数
1
解决办法
1万
查看次数

在 Java Web 应用程序上生成并验证 CSRF 令牌

我要求实施 CSRF 来防止对 java 服务器应用程序的攻击。这是一个提供大量 Web REST API 服务的应用程序。\n我查看了许多指南并在堆栈上进行了搜索,但仍然有一些顾虑。\n我知道对于 GET 请求来说是不需要的。

\n

所以,如果我错了,请纠正我。

\n
    \n
  1. 浏览器第一次发送请求以获取会话的 CSRF 令牌,大约 30 分钟
  2. \n
  3. 然后浏览器将此令牌放入脚本中并发送给后端。
  4. \n
\n

这是我的过滤器。

\n
    public class ValidateCSRFToken implements Filter {\n\n    private static final Logger LOGGER = LoggerFactory.getLogger(ValidateCSRFToken.class);\n\n    @Override\n    public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {\n        HttpServletRequest httpServletRequest = (HttpServletRequest) servletRequest;\n        HttpServletResponse httpServletResponse = (HttpServletResponse) servletResponse;\n        // Spring put the CSRF token in session attribute "_csrf"\n        CsrfToken csrfToken = (CsrfToken) httpServletRequest.getAttribute("_csrf");\n\n        // Send the …
Run Code Online (Sandbox Code Playgroud)

java csrf spring-security spring-boot csrf-token

1
推荐指数
1
解决办法
7146
查看次数

laravel 6 csrf 令牌每 60 秒就会过期?

我正在使用laravel 6。我希望我的laravel CSRF 令牌每 60 秒过期一次

配置/会话

'一生' => 60,

csrf laravel csrf-token laravel-8

1
推荐指数
1
解决办法
2272
查看次数

Django Forbidden (403) CSRF 验证失败。请求已中止

因此,我对我的项目进行了部署,在我的网络使用 HTTPS 后,Django 现在向我显示此错误: 在此输入图像描述

它发生在我的登录页面之后:login.html

{% load i18n static bootstrap4 %}

<!DOCTYPE html>
<html>

<head>

    <link rel="stylesheet" href="{% static 'web_site/css/login.css' %}" />
    <script src="https://code.jquery.com/jquery-3.6.0.min.js"
        integrity="sha256-/xUj+3OJU5yExlq6GSYGSHk7tPXikynS7ogEvDej/m4=" crossorigin="anonymous"></script>
    <script src="{% static 'web_site/js/login.js' %}"></script>

</head>
<body>

    <div class="wrapper">

        <div class="container">

            <h1>Welcome</h1>


            {% if context %}
            <ul class="messages">

                <li class="error">{{ context }}</li>

            </ul>
            {% endif %}
            <form class="form" action="" method="post">
                {% csrf_token %}
               {% bootstrap_form form %}
                <button type="submit" id="login-button">Login</button>

            </form>

        </div>

        <ul class="bg-bubbles">
            <li></li>
            <li></li>
            <li></li>
            <li></li>
            <li></li>
            <li></li>
            <li></li>
            <li></li>
            <li></li>
            <li></li> …
Run Code Online (Sandbox Code Playgroud)

django django-models django-csrf csrf-token

1
推荐指数
1
解决办法
4659
查看次数