Безопасность: обход входа в систему с вводом URL - PullRequest
0 голосов
/ 31 декабря 2018

Я хочу создать систему входа в систему для моего веб-приложения Django, которое подключено к базе данных MySQL с таблицей для менеджеров, в которой хранятся их имя, адрес электронной почты и пароль.Мой экран входа имеет URL-адрес localhost / login.Я хочу запросить в базе данных вне сервера имя пользователя и пароль для каждого менеджера, который был введен, когда пользователь вводит информацию.Если учетные данные совпадают, то я хочу перенаправить их на страницу менеджера, которая является localhost / manager.Если они не совпадают, я хочу оставить их на этой странице, localhost / login.У меня вопрос: что мешает пользователю ввести URL-адрес localhost / manager в свой браузер и обойти вход в систему, получив доступ без аутентификации?Есть ли хороший способ сохранить имя пользователя и пароль в базе данных, чтобы сделать их более безопасными, но также доступными и проверяемыми снова?

1 Ответ

0 голосов
/ 31 декабря 2018

Предположим, ваш manager возврат из представления на основе классов.Затем используйте LoginRequireMixin в первом параметре.Как это.

from django.contrib.auth.mixins import LoginRequiredMixin
class ManagerView(LoginRequireMixin, TemplateView):
   ...

Если вы используете представление на основе функций, используйте это

from django.contrib.auth.decorators import login_required

@login_required
def ManagerView(request):
    ...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...