Показать сообщение отдельно
Старый 07.06.2004, 21:41     # 5
Sheryld
Full Member
 
Регистрация: 29.05.2002
Сообщения: 544

Sheryld Луч света в тёмном царствеSheryld Луч света в тёмном царствеSheryld Луч света в тёмном царствеSheryld Луч света в тёмном царствеSheryld Луч света в тёмном царстве
на самом деле все зависит от реализации(2 и 3 вариант). если ты сделаешь нормальное хранение, проверку и сохранение во время сессии логина, пароля и события "logging in", то нет проблем.

можно например так:

храним логин и пассворд в бд(только не в открытом виде).

проверяем логин и пассворд на самой первой странице.
если все совпало, заводим идентификатор юзера(например уникальное число типа int подлинее, например: 44855928592835982582). далее везде, где "ходит" залогинившийся юзер, во всех формах имеется скрытый input с этим числом. при каждом действии проверяется вошел ли он(путем проверки числа из формы и числа из базы), если совпадает, то все ок, если нет, то exit.
при "выходе", число из базы стирается(при следующем заходе оно будет уже другое).
естественно, что скрытый input подставляется динамически(ведь он каждый раз будет разным). а если человек попытается подделать число путем правки html, то у него ничего не выйдет, т.к. он не знает правильного числа в базе.

второй вариант:

на основе сессий. храним все в базе(как в первом варианте), только при логине устанавливаем некоторую сессионую переменную в true, например. и дальше на всех страницах проверяем эту переменную, а также откуда пришел человек(или откуда был редирект/запрос).

такой подход менее надежен, но более прост в реализации.

Последний раз редактировалось Sheryld; 07.06.2004 в 21:43.
Sheryld вне форума