Пользователь пока ничего не рассказал о себе

Достижения

Все достижения (2)

Наибольший вклад в теги

Все теги (21)

Лучшие ответы пользователя

Все ответы (15)
  • Локальная разработка и Docker?

    Я использую для локальной разработки docker. Это значительно удобнее, чем держать полноценное окружение из зоопарка разных версий php и прочих штук.
    Если сайт старый, под какие-нибудь древние версии apache, php и mysql. Не проблема, - смотрю на hub, если нет, то собираю свой.
    При этом спокойно можно переключить на другой проект, более современный. Например с nginx, php7 и postgresql. Предварительно выключив предыдущий контейнер.

    Далее в перспективе можно спокойно кинуть контейнер на сервер и за пару минут развернуть сервис.

    В общем настоятельно рекомендую попробовать docker при локальной разработке.
    Ответ написан
  • Дизайн REST API: Как сейчас принято передавать авторизационный токен?

    Заголовок Authorisation является стандартом. В рамках него уже указывается схема аутентификации.

    Basic — наиболее простая схема, при которой username и password пользователя передаются в заголовке Authorization в незашифрованном виде (base64-encoded). Однако при использовании HTTPS (HTTP over SSL) протокола, является относительно безопасной.
    c27ac06373984352a1ebe2f6424cd9e9.png Пример HTTP аутентификации с использованием Basic схемы.

    Digest — challenge-response-схема, при которой сервер посылает уникальное значение nonce, а браузер передает MD5 хэш пароля пользователя, вычисленный с использованием указанного nonce. Более безопасная альтернативв Basic схемы при незащищенных соединениях, но подвержена man-in-the-middle attacks (с заменой схемы на basic). Кроме того, использование этой схемы не позволяет применить современные хэш-функции для хранения паролей пользователей на сервере.

    NTLM (известная как Windows authentication) — также основана на challenge-response подходе, при котором пароль не передается в чистом виде. Эта схема не является стандартом HTTP, но поддерживается большинством браузеров и веб-серверов. Преимущественно используется для аутентификации пользователей Windows Active Directory в веб-приложениях. Уязвима к pass-the-hash-атакам.

    Negotiate — еще одна схема из семейства Windows authentication, которая позволяет клиенту выбрать между NTLM и Kerberos аутентификацией. Kerberos — более безопасный протокол, основанный на принципе Single Sign-On. Однако он может функционировать, только если и клиент, и сервер находятся в зоне intranet и являются частью домена Windows.
    https://habrahabr.ru/company/dataart/blog/262817/

    Свой заголовок имеет смысл создавать, если ни один из способов не подходит.
    Но как правило Basic более чем достаточно. Мы у себя вместо логина передаем ключ авторизации и пустой пароль. Согласен что коряво.
    Ответ написан
  • Как правильно сделать валидацию?

    [
        // checks if "username" is a string whose length is between 4 and 24
        ['username', 'string', 'length' => [4, 24]],
    ]

    https://www.yiiframework.com/doc/guide/2.0/en/tuto...
    Ответ написан
  • Как правильно сделать аутентификацию в REST на Yii2?

    Тут два типа авторизации: для доступа к API и аутентификации самого пользователя.

    На клиенте и backend хранятся ключи, без них доступ к определенным методам (или вообще ко всему) API должен быть закрыт.
    Далее уже с помощью метода аутентификации пользователь авторизуется и получает некий токен. И уже с помощью него может производить какие-то действия.

    Проверку доступа к API можно не реализовывать. Это удобно когда нужно по отдельности разрешить какие-то действия для мобильных клиентов, а какие-то для внутренних сервисов.
    Ответ написан

Лучшие вопросы пользователя

Все вопросы (3)