Форум программистов, компьютерный форум, киберфорум
Java EE (J2EE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 23.06.2022
Сообщений: 5

CSRF token не добавляется в форму

23.07.2023, 12:36. Показов 872. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добавил поддержку CSRF в приложение. Мой config:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 @Override
    protected void configure(HttpSecurity  http) throws Exception {
        http.authorizeRequests()
                .antMatchers("/login", "/error", "/register").permitAll()
                .anyRequest().authenticated()
                .and()
                .formLogin().loginPage("/login")
                .loginProcessingUrl("/login/ok")
                .defaultSuccessUrl("/hello", true)
                .failureUrl("/login?error")
                .and()
                .logout()
                .logoutUrl("/logout")
                .logoutSuccessUrl("/login");
    }
Добавил скрытое поле на страницу логина.
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
<!doctype html>
<html lang="ru" xmlns:th="http://www.thymeleaf.org/">
<head>
    <!-- Обязательные метатеги -->
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link href="https://cdn.jsdelivr.net/npm/bootswatch@5.2.3/dist/cerulean/bootstrap.min.css" rel="stylesheet">
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.10.4/font/bootstrap-icons.css">
 
 
    <head>
        <meta charset="UTF-8">
        <title>Login</title>
    </head>
<body>
<div class="container">
    <div class="row">
        <div class="col-3"></div>
        <div class="col-6">
            <form class="mt-3" th:action="@{/login/ok}" method="post">
                <input type="hidden" th:name="${_csrf.parameterName}" th:value="${_csrf.token}">
                <fieldset>
                    <div class="input-group mb-3">
                        <span class="input-group-text" id="basic-addon1"><i class="bi bi-envelope-at"></i></span>
                        <input type="email" class="form-control" id="username" name="username"
                               placeholder="Введите вашу почту" aria-label="Ваша почта"
                               aria-describedby="basic-addon1">
                    </div>
                    <div class="input-group mb-3">
                        <span class="input-group-text" id="basic-addon2"><i class="bi bi-key-fill"></i></span>
                        <input type="password" class="form-control" id="password" name="password"
                               placeholder="Введите ваш пароль" aria-label="Ваша почта"
                               aria-describedby="basic-addon2">
                    </div>
                    <div th:if="${param.error}" style="color: red">
                        Не правильные имя или пароль.
                    </div>
                </fieldset>
                <div class="d-grid gap-2 pt-2">
                    <p>Не зарегистрированы? <span><a th:href="@{/register}">Зарегистрироваться</a></span></p>
                    <button class="btn btn-lg btn-success" type="submit">Вход</button>
                    <a class="btn btn-lg btn-danger" href="/" role="button">Отмена</a>
                </div>
            </form>
        </div>
    </div>
</div>
</body>
</html>
Проверил страницу регистрации, туда оно автоматически вставляется. Также есть у меня тестовая страница Hello на которую я добавил кнопку logout.
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org/">
<head>
    <meta charset="UTF-8">
    <title>hello</title>
</head>
<body>
Hello Anton
<form th:href="@{/logout}" th:method="POST">
    <input type="submit" value="Выйти"/>
</form>
</body>
</html>
При нажатии на нее выдается ошибка 403, так как скрытый токен не добавляется на эту страницу. Если же его туда добавить самому, то падает ошибка 405. Почему он туда не добавляется?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
23.07.2023, 12:36
Ответы с готовыми решениями:

Spring security Invalid CSRF Token
Всем привет. Подскажите пожалуйста с чем связана эта ошибка и какие есть способы пофиксить её? Invalid CSRF Token 'null' was found on...

CSRF token
Доброго времени суток! Изучаю csrf, и не могу понять одну вещь, помогите пожалуйста разобраться. На сайте learn.javascript есть статья по...

Csrf-token и авторизация
Всем привет. Пытаюсь зайти на редит авторизованным но имею проблему с csrf-token'ом . Вот собственно код: Обрабатываем страницу...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
23.07.2023, 12:36
Помогаю со студенческими работами здесь

Yii. Ошибка при загрузке больших файлов превышающих upload_max_filesize в php.ini. Validate CSRF token
Сегодня тоже столкнулся с этой неизлечимой из корня бедой. В сети много костылей по решению данной проблемы. Самый популярный костыль это...

Ошибка "CSRF token missing or incorrect" при передаче информации в форме
Вообщем создал я модели(не суть важно какие). Через админку добавил группу пользователей и соответственно права(разрешения)...

Не могу отправить форму, что-то не так с CSRF
Когда пытаюсь отправить форму, вот как оно ругается: Forbidden (403) CSRF verification failed. Request aborted. Help ...

Django csrf cookie --нужно определить в чем ошибка CSRF cookie not set
НУжна помощь в определений ошибки как исправить в папке Templates находится файл index.py &lt;!DOCTYPE html&gt; &lt;html&gt; ...

Ошибка при разборе запроса. [ Token line number = 1,Token line offset = 26,Token in error = Наименование ]
Доброго времени суток, никак не пойму в чем проблема. using System; using System.Collections.Generic; using System.ComponentModel; ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru