Есть ли необходимость защищаться от неавторизированного доступа к функциям возвращающим данные?

Представление для отображения страницы вызывается через адресную строку браузера (main_page()) только для авторизированных пользователей.
Для ограничения неавторизированного доступа для таких представлений используются декораторы и другие проверки.
В некотором проекте имеется представление возвращающее данные(не связанные с моделью юзеров) из БД (get_data()). Запрос осуществляется через ajax функцию из js скрипта который вначале был загружен main_page().
Может ли неавторизированный пользователь послать запрос через функцию get_data() и получить данные используя адресную строку, минуя загрузку всей страницы? Нужно ли я защищать декоратором каждую функцию в проекте?
  • Вопрос задан
  • 144 просмотра
Пригласить эксперта
Ответы на вопрос 1
Maronus
@Maronus
Запрос осуществляется через ajax функцию из js скрипта который вначале был загружен main_page().

Следовательно любой авторизованный юзер, используя отладчик в браузере, может увидеть этот запрос, передать его третьим лицам, и эти третьи лица смогут грузить данные.

Нужно ли я защищать декоратором каждую функцию в проекте?

Публичные - да. Любой запрос от клиентской части нужно проверять. Но не в лоб в каждой функции писать проверку.
Создайте метод, который при любом запросе (за парой исключений) неавторизованного юзера, будет кидать его на форму с авторизацией, либо возвращать 403. И вызывайте его перед обработкой маршрутов, как вариант.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы