ixon
@ixon


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

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

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

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

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

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

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

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

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

Войти через центр авторизации
Похожие вопросы
Директ Кредит Казань
от 70 000 до 120 000 ₽
АКМЭ сервис Санкт-Петербург
от 120 000 до 150 000 ₽
ИМАГ Москва
от 90 000 до 100 000 ₽
13 авг. 2020, в 08:22
2000 руб./за проект
13 авг. 2020, в 05:00
500 руб./в час
13 авг. 2020, в 04:55
500 руб./в час