|
|
|
|
|
для: 1dt.w0lf
(02.02.2005 в 16:25)
| | На счет скорости ты зря! Шифр 24 букв абсолютно не занимает время.
Все данные шифровать не надо, я показал пример что нельзя сделать SQL инъекцию при таком методе проверке логина и пароля. И в других местах приема данных тоже надо сначала присвоить их переменным, потом если надо отфильтровать, а только потом подставлять в запрос. | |
|
|
|
|
|
|
|
для: XPraptor
(02.02.2005 в 12:48)
| | 1. Скорость... все упирается в скорость работы. Твоя функция md5() будет заметно тормозить особенно при большом количестве юзеров.
2. А пароль то в базу записывается? Получается что его проверять все равно придется перед помещением в запрос при регистрации.
3. Одной авторизацией дело не ограничивается. Или ты все данные в базе шифровать собрался? | |
|
|
|
|
|
|
|
для: Artem S.
(02.02.2005 в 07:09)
| | Я вот только не пойму зачем такое извращение? Зачем пытаться защититься от того, чего вообще не нужно допускать?
Я всегда при проверке пишу такой код:
$login=$_POST["snd_login"];
$pass=$_POST["snd_pass"];
$snd_hash=MD5($login . $pass);
$rez=mysql_query("SELECT usr_hash FROM Users WHERE usr_hash='" . $snd_hash . "');
|
И все. А при регистрации в базу пишу только пароль и хэш логин пароль. Можно и пароль не писать. но я всегда делаю сервис отправки забытого пароля, поэтому еще пароль храню, а логин вообще никуда не пишу, только хэш связки логин-пароль. | |
|
|
|
|
|
|
|
для: antf
(31.01.2005 в 16:58)
| | Не нужно все внимание обострять лишь на авторизации. Скорее всего, в скрипте будут и другие "дыры", через которые можно получить спец. права. Нужно смотреть весь код, и внимательно писать sql запрос и т.д.
Просто следуйте рекомендациям и проблем будит меньше. | |
|
|
|
|
|
|
|
для: Atom
(01.02.2005 в 14:54)
| | Да эту функцию можно и так использовать. | |
|
|
|
|
|
|
|
для: cheops
(01.02.2005 в 14:33)
| | Я совсем о другом думал.
Я переменную в запросе в кавычки помещал.
Так, оказывается на сервере magic_quotes выключен, значит addsleshes.
А эту функцию можно в самом запросе проверять?
Тоесть SELECT * from table where login='".addsleshes($login)."' ? | |
|
|
|
|
|
|
|
для: Atom
(01.02.2005 в 14:24)
| | А куда вы ставите обратные кавычки? Здесь имеется ввиду замена прямых кавычек в тексте
на обратные перед помещением текста в базу данных | |
|
|
|
|
|
|
|
для: cheops
(01.02.2005 в 14:01)
| | А насчет универсальных прав.. Там таких нет =) Управление осуществляется через админку, защищенную htpasswd
Блин, я окончательно запутался.
У меня включены magic_quotes. При запросе я ставлю обр. кавычки, и нифига. С обычными работает скрипт, а с обратными нет. | |
|
|
|
|
|
|
|
для: localGhost
(01.02.2005 в 05:01)
| | Хм... скорее всего злоумышленник не будет пытаться сломать базу на этапе регистрации и постарается получить пароль к логину с универсальными правами... т.е. нужно смотреть регистрацию пользователей. | |
|
|
|
|
|
|
|
для: Atom
(01.02.2005 в 10:22)
| | ---
Если ты не укажешь пароля, то он не начнет выполнять скрипт. Я там не полностью расписал просто. Тоесть if (isset($_POST['login']) && isset($_POST['password'])) {
//authorise script
}
elseif(empty($_POST['login'] || empty($_POST['password']))
{
//input form
}
---
1. isset еще не означает что переменная не пуста, попробуй просто передать пустую переменную
2. зачем elseif? else вполне достаточно. | |
|
|
|
|