Akdmeh » 2009.08.25 12:36 |
Вот стал вопрос об авторизации. На сколько безопасно хранить в куках у пользователя id и захешированый пароль? Так же думаю, будет ли безопасна такая привязка: $expl=explode('.', $_SERVER['REMOTE_ADDR']); md5($passw.$expl[0].$expl['1'].strtok($_SERVER['HTTP_USER_AGENT'], ' ')); и этот хеш передать пользователю? Или не стоит? Как посоветуешь?:) |
Gemorroj » 2009.08.25 12:46 |
Akdmeh написал:На сколько безопасно хранить в куках у пользователя id и захешированый пароль?
, если у пользователя уведут эту куку, то смогут зайти по ним просто передав эту куку от себя. смотрим далее - вариант с проверкой юзер агента и части ip адреса. ну юзер агент тоже подменить не проблема, с ip конечно сложнее. безопаснее всего пользоваться https и авторизовываться с помощью чего-нибудь типа basic авторизации. все эти варианты с хэшированием паролей в куках имеют всегда примерно одинаковую степень защиты. |
Akdmeh » 2009.08.25 13:07 |
Да ну — связыватся с https и бейсик авторизацией нет ни опыта ни желания. А в пунбб тоже похожая система(потому и спрашиваю):в punbb_cookie хранится засериализированный массив Array ( [0] => 118 [1] => хеш) Как я понял, в первом — мой id, а во втором... Что там хешируется, можно узнать?;) |
Gemorroj » 2009.08.25 13:22 |
я неп омню уже что там с авторизацией)) последний раз код этого форума я открывал.... эээ... ну очень давно) Добавлено спустя 1 минуту 10 секунд: просто я не особо беспокоюсь на счет того, что у меня там в куках, пусть даже открытый пароль. если человек дошел до того, что засветил свои куки, то ему уже ничего не поможет. ИМХО. |
Akdmeh » 2009.08.25 13:32 |
Я тоже подумал, что если у него вирусом украдут пароли, то форум — это не самое страшное, что может случится. Вот вконтакте хранит захешированый пароль в куке, а в базе данных — вообще в открытом виде. И ничего) Ну привязку к ip не хочется делать, он действительно динамичный, а у пользователей оперы мини могут быть крупные проблемы... Вот и думаю, что бы передавать, и сравниваю с другими системами) |
Gemorroj » 2009.08.25 13:52 |
Akdmeh написал:Вот вконтакте хранит захешированый пароль в куке, а в базе данных — вообще в открытом виде.
откуда такая информация? |
Akdmeh » 2009.08.25 15:01 |
хеш в куке remixpass==твоему паролю в md5. Раньше так точно было, может за этот месяц поменяли.
А в базе данных в открытом виде — когда даешь запрос пароля на восстановление, то возвращают старый, а не генерируют новый. |
Gemorroj » 2009.08.25 15:53 |
хе) |
Akdmeh » 2009.09.12 14:59 |
Ну всё же... Всё никак не решу.
Первичный план. При авторизации проверяем его пароль с формы с базой, если всё норм - даём пользователю хеш, который есть случайно сгенерированной строкой. Дальше проверка.
Если в куке будет нужный хеш - то авторизуем. Если же нет - то не авторизуем. При нажатии кнопки "выход" хеш будет вытираться, и соответственно все куки будут недействительные.
Плюсы метода - если я замечу взлом и кражу кук - мне просто стоит выйти, и та кука превратится в мусор, а у хакера будет только 32 байта мусора, и даже не будет хеша моего пароля, то есть, даже подбирать не будет чего.
Минусы - можно кражу не заметить. 2) если я буду выходить с одного браузера, то будет выходить сразу со всех. Ещё одно поле в базе данных.
Как думаешь - подойдёт, или может посоветуешь что-то лучшее? //кстати, с наступающим! |
Gemorroj » 2009.09.12 15:32 |
эээ с чем наступающим?) Подойдет конечно. Большинство скриптов именно по такой схеме и работают. Этот вот форум, например. |
Akdmeh » 2009.09.12 16:06 |
13 сентября - официально день программиста. Ты ведь по профессии программист, то есть, тебя касается в первую очередь;) |
Gemorroj » 2009.09.12 16:30 |
аааа...) сегодня нужно ити писать заявления об увольнении...) конторе хана, как и зарплате за последние 2 с лишним месяца... вот думаю, если все-таки дадут зарплату, то на нее можно будет жить несколько месяцев. за это время можно сварганить свою смс партнерку, и пытаться зарабатывать на ней... |