Flask и токены CSRFPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Flask и токены CSRF

Сообщение Anonymous »

Я пытаюсь использовать токены csrf с моим приложением Flask, но заметил, что после небольшого открытия сайта (1 час) он не будет работать, пока я не перезагрузлю его, поэтому я сделал небольшое тестирование и выяснилось, что это связано с истечением срока действия токенов csrf, поэтому я попробовал генерировать новый каждый запрос (это то, чего я хочу, чтобы люди не могли использовать один и тот же токен снова и снова),
но это все равно не работает.

Код: Выделить всё

from flask import Flask, redirect, url_for, render_template_string
from flask_wtf.csrf import CSRFProtect, generate_csrf
from datetime import timedelta

app = Flask(__name__)
app.secret_key = 'key'
csrf = CSRFProtect(app)
app.config['PERMANENT_SESSION_LIFETIME'] = timedelta(seconds=10)

html= """


Redirect

"""

@app.route('/')
def home():
generate_csrf()
return render_template_string(html)

@app.route('/redirect', methods=['POST'])
def redirect_route():
generate_csrf()
return redirect(url_for('home'))

app.run(debug=True)

У меня есть линия

Код: Выделить всё

app.config['PERMANENT_SESSION_LIFETIME'] = timedelta(seconds=10)
для тестирования, так что да, как вы можете видеть, у меня естьgenerate_csrf() перед обоими маршрутами, но все равно через 10 секунд я получаю ошибку и мне нужно перезагрузите сайт.

Код: Выделить всё

app.config['SESSION_REFRESH_EACH_REQUEST'] = True
что тоже ничего не изменило

Код: Выделить всё

session.permanent = True
не сработало, также передача нового токена csrf в операторе возврата не сработала.
Итак Я просто не знаю, что делать. Я хочу, чтобы каждый запрос имел свой собственный csrf, чтобы его нельзя было использовать снова, и я не хочу оставлять сайт открытым, чтобы он не работал и выдавал ошибку, когда я нажимаю кнопку, это должно просто сделай новый или что-нибудь в этом роде.

Подробнее здесь: https://stackoverflow.com/questions/790 ... srf-tokens
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Нужны ли формам входа токены против атак CSRF?
    Anonymous » » в форуме Php
    0 Ответы
    19 Просмотры
    Последнее сообщение Anonymous
  • Токены CSRF и путаница с Nonce – они одинаковые?
    Anonymous » » в форуме Php
    0 Ответы
    21 Просмотры
    Последнее сообщение Anonymous
  • CSRF токены Fast API Starlette
    Anonymous » » в форуме Python
    0 Ответы
    2 Просмотры
    Последнее сообщение Anonymous
  • CSRF токены Fast API Starlette
    Anonymous » » в форуме Python
    0 Ответы
    1 Просмотры
    Последнее сообщение Anonymous
  • Токены CSRF в Fastapi/Starlette
    Anonymous » » в форуме Python
    0 Ответы
    5 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»