ixon
@ixon


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

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

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

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

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

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

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

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

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

Войти через центр авторизации
Похожие вопросы
Zelo Москва
от 130 000 руб.
Amigoweb Магнитогорск
от 40 000 до 60 000 руб.
АКМЭ сервис Санкт-Петербург
от 110 000 руб.