Как менеджер паролей найдёт вашу форму Django
Менеджер паролей обнаружил утечку и предлагает заменить пароль. Чтобы открыть нужную страницу, он может обратиться к
В Django достаточно добавить RedirectView с pattern_name, указывающим на публичную форму смены пароля. URL стандарта не содержит завершающего слеша, а редирект должен быть временным.
Проверьте имя целевого маршрута тестом: Django разрешает его при запросе, поэтому опечатка может остаться незаметной до первого обращения.
Ещё одна проверка — неизвестный URL должен возвращать 404. Если catch-all выдаёт 200 на любой путь, менеджер паролей может проигнорировать этот механизм.
#python #django
Менеджер паролей обнаружил утечку и предлагает заменить пароль. Чтобы открыть нужную страницу, он может обратиться к
/.well-known/change-password.В Django достаточно добавить RedirectView с pattern_name, указывающим на публичную форму смены пароля. URL стандарта не содержит завершающего слеша, а редирект должен быть временным.
Проверьте имя целевого маршрута тестом: Django разрешает его при запросе, поэтому опечатка может остаться незаметной до первого обращения.
Ещё одна проверка — неизвестный URL должен возвращать 404. Если catch-all выдаёт 200 на любой путь, менеджер паролей может проигнорировать этот механизм.
#python #django
Когда Path.info экономит обращения к файловой системе
При обходе большого каталога проверки
У объектов, полученных через
Цена — актуальность. Если другой процесс заменил файл после обхода,
Кеш нельзя очистить на месте; новый
#python #файлы
При обходе большого каталога проверки
is_file() и is_dir() могут создавать множество запросов метаданных. В Python 3.14 появился кеш типов файлов Path.info.У объектов, полученных через
Path.iterdir(), он может уже содержать информацию из сканирования каталога. Несколько проверок типа используют эти данные повторно.Цена — актуальность. Если другой процесс заменил файл после обхода,
path.info может описывать прежнее состояние. Для свежей проверки используйте прямые методы Path.is_file() и Path.is_dir().Кеш нельзя очистить на месте; новый
Path(path) начинает с пустым кешем. Но даже свежая проверка не устраняет гонку между проверкой и открытием файла — ошибки операции всё равно нужно обрабатывать.#python #файлы