|
|
|
|
|
для: ололош
(14.11.2011 в 01:35)
| | Он может ввести свой логин и пароль, причем сделать это на очень большом объеме данных - тогда вероятность взлома сильно повышается. Кроме того, существует еще проблема воровства cookie - если удастся провернуть XSS-инъекцию, хэши могут уплыть. В cookie вообще лучше ничего критичного не хранить. | |
|
|
|
|
|
|
|
для: Tamplier
(10.11.2011 в 12:24)
| | А если хранить в куках 2 зашифрованные строки data и token.
data = md5(login.'OLOLO'.md5(password));
проверяет при входе введенные данные не из базы, а куки.
а выборка данных пользователя используя token, который является тем же самым, только с солью
token = md5(login.salt.md5(password)), а соль лежит в базе данных.
можно еще в token запихивать time() входа в систему. | |
|
|
|
|
|
|
|
для: cheops
(10.11.2011 в 12:08)
| | А можете обьяснить все таки чем опасен вариант?
Чтобы подделать куку key, нужно знать как она генерится + секретный ключ для ее генерации.
Т.е. если я буду следить чтобы были три все три куки, причем кука логин + пароль + секретный ключ == key, то как злоумышленник сможет их подделать? ведь он не знает как я ее генерирую. | |
|
|
|
|
|
|
|
для: ололош
(10.11.2011 в 02:31)
| | Пароль и логин не в коем случае нельзя сбрасывать в cookies. По хорошему на каждый вход пользователя, нужно генерировать новый ключ (сгенерированный случайным образом) и сохранять его в сессии (или в куки, но лучше сессия) и БД. Если по каким то причинам ID пользователя и ключ не совпадают, обнулять временный ключ и повторная авторизация. | |
|
|
|
|
|
|
|
для: ололош
(10.11.2011 в 02:31)
| | Нет, если пишите пароль в cookie, проходить аутентификацию придется каждый раз. Cookie подделываются на раз два - вас взломают моментально. | |
|
|
|
|
|
|
|
для: ололош
(10.11.2011 в 02:31)
| | это не то что ненадежный вариант, а крайне опасный вариант
в придачу к тому же еще и бессмысленный | |
|
|
|
|
|
|
| 1) получаем из формы login, pass
2) делаем запрос в базу по логину, получаем пароль.
3) сравниваем пароль с паролем из базы, все в md5 естестно
4) если пароли совпали ставим три куки login, pass, key, где key это
<?
$key = md5($login.$pass.$skey);
?>
|
$skey внутренний ключ.
5) при дальнейшей навигации по сайту запросы в бд не делаем, а сверяем
<?
md5($_COOKIE['login'].$_COOKIE['pass'].$skey) == $_COOKIE['key]
?>
|
| |
|
|
|
|