Автологин. Новые песни о старом...

AndreyKl

Новичок
это да... но он не имеет полно доступа к базе... полагается скорее, что злоумышленнику удалось реализовать sql-инъекцию...
 

Фанат

oncle terrible
Команда форума
ну и плолучил он тот самый сид точно так, же, как и хэш пароля.
И ЧО?
 

AndreyKl

Новичок
да...
думаю, чучше хранить пароль... либо sid, но каким-то более интересным способом.. хешь какой нибудь с чем нибудь, а сид в базе, но тогда смысл сида прподает, бери хеш пароля и извращайся..

-~{}~ 11.10.06 15:12:

да что ж такое..
/хешь/хеш/s

-~{}~ 11.10.06 15:22:

пароль в открытом виде - нехорошо, обычно у пользователей одни и те же пароль к разным сайтам, если кто-то целенаправленно украдёт пароль пользователя, это может быть весьма печально для него. Пусть даже на моём сайте пользователь не оставил ничего ценного, целенаправленная кража может ему выйти боком.. учитывая это - храним в базе логин и sid, sid меняется при каждом входе пользователя в систему. в куках храним sha1(sid.'some_unique_string_known_only_in_this_script').

замечания?

-~{}~ 11.10.06 15:28:

лучше так:
sha1(sid.'some_unique_string_known_only_in_this_script_only_for_this_user');
алгоритм составления some_unique_string_known_only_in_this_script_only_for_this_user произвольный и каких нибудь данных пользователя.
 

440hz

php.ru
сессия - это не "столько, сколько укажешь", а пока юзер не закрыл браузер.
ну да. если кука SID выставлена на 7 дней, то что? по закрытию броузера сессия уничтожиться? как-то вот не верится ...
 

440hz

php.ru
Автор оригинала: Фанат
проверь
э-э-э наверное в этом случае речь идет о стандартных сессиях? sessions_start() ? тогда очень может быть, но я говорил про более общий случай, когда проектировщик использут свой механизм сессий и может выставвлять периоды хранения кук, сессий и т.д. по своему усмотренпию.

нпример я могу выставить хранение сессии на месяц и в моем случае, если юзер зайдет через месяц, то система его вспомнит.
 

Фанат

oncle terrible
Команда форума
убейте меня апстену.
вот уж не думал, что на седьмом году существоания этого форума я буду кому-то объяснять, что такое сессия, сеанс работы с сайтом.

-~{}~ 11.10.06 16:07:

чем эти высосанные из пальца "сессии" отличаются от КУК?!

-~{}~ 11.10.06 16:08:

если ты хочешь выставить КУКУ, то ТАК И НАДО ПИСАТЬ - "ставим куку и записываем её значение в базу"
ПРИ ЧЁМ ЗДЕСЬ СЕССИИ?
 

Alexandre

PHPПенсионер
ok, что дальше?
как нам оберегать кражу сессии из кук?
tfа ни как... главное не париться лишний раз по пустяку!

есть понятие криптостойкости. Все данные вскрываемы, все зависит от сроков вскрытия и потраченных ресурсов. Если стоимость ресурсов несопоставима с ценой данных, то - значить данные защищены.

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

Если нужно что-то более серьездное - используем ССЛ... аппаратную криптозащиту, аутентификацию по роговой оболочке глаз... и так по нарастающей.

Если данные стоят три копейки, то вполне хватит хранить ид сессии в куках и делать простой автологин.
 

tf

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

dr-sm

Новичок
господа, это ужасно, какое айди сессии, вы что???
ломайте, вперед )
1. в базе лежит:
UID - int
login - string
salt - string
pwd - string

2. логин - псевдокод
select uid, hash(uid + pwd [+ $ip]) as hash form users
where login = $login
and pwd = hash(salt + $password)

3 не логин, просто юзер чек
select $hash == hash(uid + pwd [+ $ip]) from where uid = $uid

доступа на чтение к users у dbюзера под каким пхп ходит нету,
оба селекта засунуты в SP|SF.
храним две переменные $uid, $hash и в сессии и в куках.

другое дело, что при наличии ценных данных и автологина,
проверка по ип необходима.
 
Сверху