Как лучше cделать авторизацию?

Ссылка скопирована
5 февраля 2026 1 ответ

Есть роут который должен вернуть что-то только авторизированным пользователям.
Я знаю только 2 способа выполнения этой задачи,
1) В самом роуте добавить мидлвеер проверки заголовка авторизации и проверять токен и если всё норм то добавлять к объекту запроса поле user с payload токена.
2) Сделать глобальный мидлвеер который при любом запросе проверяет токен авторизации и делает тоже самое как и первый способ.

Как лучше сделать ? Может есть ещё какие-то способы? Заранее спасибо за ответ!

Дополнительно:

1 вариант, только не в целом роуте добавлять, а в каждом эндпоинте где нужна авторизация, хотя тут кстати даже токен не нужно дальше передавать, ток юзера

  • Вообще зависит от задач.
    Можно и так и так и ещё как-нибудь.
    Слишком абстрактный вопрос.
  • Lynn «Кофеман», Чтобы оптимизированно было, мне больше это надо
  • jastioknow лучше/оптимизировано для чего именно? Каких целей и задач?
  • VoidVolker, у клиента быстрее грузилось
  • jastioknow а вы провели исследование и выяснили, что в данном случае является узким местом/бутылочным горлышком? Или, может у вас какая-то проблема со скоростью загрузки у клиента? Как и чем измеряли? Какие результаты?
  • Нужно решить такую задачу?

    Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

    Заказать помощь
    Лучший ответ
    1
    Павел Админов Ответ

    Для создания безопасной и эффективной системы авторизации на сайте, рекомендуется использовать методы аутентификации, которые обеспечивают защиту личных данных пользователей и предотвращают несанкционированный доступ к системе.

    Вот несколько шагов, которые могут помочь вам создать надежную систему авторизации:

    1. Хэширование паролей: Храните пароли пользователей в зашифрованном виде, используя современные хэшированные алгоритмы, такие как bcrypt. Никогда не храните пароли в открытом виде в базе данных.

    $password = password_hash($password, PASSWORD_BCRYPT);

    $password = password_hash($password, PASSWORD_BCRYPT);

    2. Использование токенов: При успешной аутентификации пользователя генерируйте уникальный токен, который будет использоваться для авторизации запросов пользователя. Токены должны иметь ограниченный срок действия и быть связаны с конкретным пользователем.

    $token = bin2hex(random_bytes(32));

    $token = bin2hex(random_bytes(32));

    3. Защита от CSRF и XSS атак: Обеспечьте защиту от атак межсайтового подделывания запросов (CSRF) и межсайтового скриптинга (XSS), используя механизмы проверки CSRF-токенов и фильтрацию входных данных.

    4. Частые проверки безопасности: Регулярно обновляйте библиотеки и фреймворки, используемые в вашем проекте, для предотвращения уязвимостей безопасности. Также проводите аудит безопасности и тестирование на проникновение.

    5. Двухфакторная аутентификация: Рассмотрите возможность внедрения двухфакторной аутентификации для повышения уровня безопасности. Этот метод требует от пользователя ввода дополнительного проверочного кода, который генерируется на основе уникального устройства или приложения.

    6. Журналирование и мониторинг: Ведите журналы аутентификационных событий и мониторьте активность пользователей, чтобы быстро обнаруживать подозрительную активность или попытки несанкционированного доступа.

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

    Другие ответы (0)

    Пока нет других ответов. Будьте первым, кто поможет автору.

    Ответить на вопрос

    комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *

    Вам также может быть интересно