[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: После авторизации как лучше хранить данные?
Страницы: 1, 2
Jack_White
Цитата (Семён @ 17.01.2012 - 08:41)
Вывод из обоих случаев - если руки прямые и не ленишься, то проблем никаких не будет.

Дыры всегда найдутся, вопрос как быстро их найдут)))
UnWind
Jack_White
Ну это тоже верно) Просто если не допускать банальных ошибок, то их будет найти сложнее. Не правда ли ? wink.gif

_____________
Искусство программирования - заставить компьютер делать всё то, что Вам делать лень!
Jack_White
UnWind
Ну это да, так вот для этого мы здесь и собираемся wink.gif
UnWind
Jack_White
Ага)

_____________
Искусство программирования - заставить компьютер делать всё то, что Вам делать лень!
Семён
Jack_White
Блин. что так сложно переварить материал, попробую детально разжевать:


Имеем COOKIES:
auth_session


1) Проверяем авторизирован ли он уже (if(!empty($_SESSION['user']['id'])) чтобы сразу запустить на сайт, иначе если нет проверяем его сохранённую авторизацию:
существует ли у него в COOKIES auth_session, если нет -> показываем:
Форма авторизации:
<login>
<password>
<submit>



2) Если есть
Делаем запрос к базе к таблице sessions:
3) Проверяем если найденно совпадение хэша возвращаем ID пользователя
4) Вытаскиваем данные из таблицы users и наполняем $_SESSION['user']
5) Запускаем на сайт
6) Иначе показываем форму авторизации

Если и это не дойдёт, бросай программирование.
В добавок хотелось бы добавить, что помимо auth_session в таблице советую хранить IP+USER_AGENT чтобы украв из COOKIE эту сессию и злоумышленника не получилось бы войти под чужим аккаунтом.
Данные достаются 1 раз при авторизации.
UnWind
Семён
Что ж ты так строго к нему.
Просто логика у него не развита еще так хорошо, как у тебя например wink.gif
Это же со временем, а не сразу)

_____________
Искусство программирования - заставить компьютер делать всё то, что Вам делать лень!
Jack_White
Семён
Ты как-то реагируешь неадекватно, думаю здесь ты неправ. Я спрашиваю уже раз 5-ый конкретно - как хранить данные при авторизации в сессии или каждый раз вытаскивать из базы. Ты зачем-то мне привел общую работу, и зачем-то мне это разжевываешь ohmy.gif .
Если ты не понимаешь вопроса то у тебя проблемы. Привел ненужную тираду как проверять и так далее, а по делу можно было бы отписаться одним постом:
Цитата (Семён @ 17.01.2012 - 08:54)

3) Проверяем если найденно совпадение хэша возвращаем ID пользователя
4) Вытаскиваем данные из таблицы users и наполняем $_SESSION['user']

и давай без наездов, на каждого умного найдется ещё умней.
А так спасибо за ответ, только читай внимательней вопрос
Семён
Было уже отвечено: не обижайся братюня biggrin.gif
http://phpforum.su/index.php?act=Print&cli...limin=4&limit=1
Цитата
3) На счёт как хранить в сессии или вытаскивать из базы, без разницы, только в случае с базой используйте кеш, (но я посоветовал бы использовать сессии)
Jack_White
Семён
не обижаюсь wink.gif
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.