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