Задать вопрос
ixon
@ixon


Лучший способ авторизации через php?

По мере того как я обучался выполнять типовые кейсы на php, рассматривал всякого рода авторизацию. Зачастую статьи и литература по теме подчёркивают что это достаточно базовый способ реализовать авторизацию и примерно одинаково передают суть: в бд хранится таблица Пользователи, содержащая логин, емэйл, какой-нибудь хэш от пароля, обычно это самая существенная вариация в разных источников и какое-нибудь поле под ключ доступа, который сравнивается с находящимся у пользователя и если он совпадает, то это тот самый пользователь, которому соответствует данный пользователь из БД. При каждом входе или выходе ключ доступа перегенерируется в БД и обновляется у пользователя.
Иногда к прочим данным также добавляют IP или UserAgent которые также проверяются и обновляются при взаимодействии со скриптом авторизации. Иногда таблица в БД разносится на несколько.
Чего-то сильно сложнее описанного никогда не видел. Но ведь всегда пишут, что это очень базовый и не безопасный способ? А какой же тогда более сложный, более эффективный, более быстрый и более надёжный, о котором говорят все эти авторы статей? И чем именно не безопасен этот способ кроме коллизий в ключе авторизации (хотя все крупные сервисы вроде как хранят токены авторизации примерно также в 16ричной строке длинной в 16 или 32) и отсутствии защиты от брутфорса?
  • Вопрос задан
  • 221 просмотр
Подписаться 3 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 3
FanatPHP
@FanatPHP
Чебуратор тега РНР
"Не читайте до обеда советских газет".

86% статей в интернете написаны чудовищными дителантами, которые сами едва десяток операторов освоили.
Иногда к прочим данным также добавляют IP или UserAgent которые также проверяются и обновляются при взаимодействии со скриптом авторизации. Иногда таблица в БД разносится на несколько.

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

Без контекста сложно понять, что имеется в виду.

Общее правило - не доверять голословным утверждениям. Если автор понимает, о чем пишет, то сможет и объяснить ту или иную рекомендацию или оценку.

Из перечисленного выше я бы только добавил защиту от подбора пароля.
Ответ написан
usdglander
@usdglander Куратор тега PHP
Yipee-ki-yay
1.
коллизий в ключе авторизации

Сейчас бы со всякими Аеэсами, Блоуфишами и СХА256 беспокоится о коллизиях.
2. Кто говорит что это не безопасный способ?
3. Возможно в ваших источниках имеется ввиду всякого рода двухфакторная авторизация и прочее?
Ответ написан
Комментировать
@fubaro
Судя по вопросу, вам сначала надо разобраться что такое идентификация, аутентификация и авторизация.
Когда поймете логику, стоящую за этими процессами, - поймете и как этого добиться. Ну или вопросы начнете задавать более конкретные.
+ Соглашусь с фанатом: сейчас интернет засран копирайтерами, которые переписывают вредные советы на свой лад непонимая в вопросе нифигашеньки.
Ответ написан
Ваш ответ на вопрос

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

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