include("include/bd.php");
if (isset($_GET['error'])) {$error = $_GET['error']; if ($error == '') {unset($error);}}
if (isset($_POST['login'])) {$login = $_POST['login']; if ($login == '') {unset($login);}}
if (isset($_POST['password'])) {$password = $_POST['password']; if ($password == '') {unset($password);}}
if (isset($_POST['long_lived'])) {$long_lived = $_POST['long_lived']; if ($password == '') {unset($password);}}
if(isset($login) && ($password)){
$login = trim($login);
$password = trim($password);
if(strlen($login) < 3 or strlen($login) > 30) {
$error = 3;}
if(strlen($password) < 3 or strlen($password) > 30) {
$error = 4;}
if(!isset($error)){
$login = md5(md5($login.'Соль').'Соль');
$password = md5(md5($password.'Соль').'Соль');
if(isset($long_lived)){
if(!preg_match("|^[\d]*$|",$long_lived)){
$long_lived = 1;}}
$pas = mysql_query ("SELECT password FROM user WHERE login='$login'",$db);
if(mysql_num_rows($pas)){
$pass = mysql_fetch_array($pas);
if($password == $pass['password']){
if($long_lived == 1){
setcookie('login',$login);
setcookie('password',md5($password.$_SERVER['REMOTE_ADDR']),time() + 315360000);
}else{
setcookie('login',$login);
setcookie('password',md5($password.$_SERVER['REMOTE_ADDR']));}
header('location: index.php');
}else{$error = 1;}
}else{$error = 1;}
}}else{
if(isset($login)){$error = 1;}
if(isset($password)){$error = 1;}}
if(isset($error)){
if(!preg_match("|^[\d]*$|",$error)){
$error = 1;
}}
Спустя 37 минут, 30 секунд (3.02.2011 - 23:48) inpost написал(а):
Dma
Загляни ко мне в подписи, а главное есть целый курс об этом: irbis-team.com
А по теме, ты думаешь, дважды проходить md5 будет надежнее одного раза? И почему? И зачем в кукисы ещё и третий раз делаешь?
Загляни ко мне в подписи, а главное есть целый курс об этом: irbis-team.com
А по теме, ты думаешь, дважды проходить md5 будет надежнее одного раза? И почему? И зачем в кукисы ещё и третий раз делаешь?
Спустя 5 минут, 57 секунд (3.02.2011 - 23:53) Dma написал(а):
В кукисах я делаю для скрытия ип, а 2 мд5 мне кажется надёжнее одного...
Спасибо за сылки сейчас почитаю.
Спасибо за сылки сейчас почитаю.
Спустя 9 минут, 42 секунды (4.02.2011 - 00:03) inpost написал(а):
Dma
Как может быть абракадабра надежнее другой абракадабры?
Ну ладно, скрываешь ай-пи, но зачем? Его ведь подделать нельзя, взломал злоумышленник, получил IP: 46.98.69.14 , это мой, кстати, и что дальше? Ну есть ай-пи, и что дальше? Я сейчас перезайду в инет - и ай-пи поменяется.
Как может быть абракадабра надежнее другой абракадабры?
Ну ладно, скрываешь ай-пи, но зачем? Его ведь подделать нельзя, взломал злоумышленник, получил IP: 46.98.69.14 , это мой, кстати, и что дальше? Ну есть ай-пи, и что дальше? Я сейчас перезайду в инет - и ай-пи поменяется.
Спустя 6 минут, 25 секунд (4.02.2011 - 00:10) Dma написал(а):
Если злоумышленник получит куки и там будут ип в открытом виде он сможет заменить их на свои, а так они зашифрованы.
Я использую проверку на закрытых страницах
Я использую проверку на закрытых страницах
if(isset($_COOKIE['login'])&&($_COOKIE['password'])){
$pas = mysql_query ("SELECT password FROM user WHERE login='$_COOKIE[login]'",$db);
if(mysql_num_rows($pas) > 0){
$pass = mysql_fetch_array($pas);
if($_COOKIE['password'] == md5($pass['password'].$_SERVER['REMOTE_ADDR'])){
}else{header("location: login.php");}
}else{header("location: login.php");}
}else{header("location: login.php");}
Спустя 4 минуты, 54 секунды (4.02.2011 - 00:14) inpost написал(а):
Dma
Вот я зашел в админку с ай-пи 17, завтра с ай-пи 19, действия скрипта? Я уже злоумышленник? В кукисах стоит ай-пи 17, а у меня написано 19. Каковы действия?
Вот я зашел в админку с ай-пи 17, завтра с ай-пи 19, действия скрипта? Я уже злоумышленник? В кукисах стоит ай-пи 17, а у меня написано 19. Каковы действия?
Спустя 5 минут, 30 секунд (4.02.2011 - 00:20) Dma написал(а):
Это не для админки, а для пользывателей.
Я решил использывать такой алгоритм и убрать привязку к ип.
Я решил использывать такой алгоритм и убрать привязку к ип.
$password = strrev(md5(md5($password).md5('соль')))
Спустя 33 минуты, 55 секунд (4.02.2011 - 00:54) Guest написал(а):
inpost
а почему бы не сохранить в кукисах, что-то типо флажочка, который не будет допускать... правда почистить куки и все
а почему бы не сохранить в кукисах, что-то типо флажочка, который не будет допускать... правда почистить куки и все
Спустя 6 минут, 3 секунды (4.02.2011 - 01:00) Zerstoren написал(а):
$pas = mysql_query ("SELECT password FROM user WHERE login='$_COOKIE[login]'",$db);
Готовы к инъекции. Кукисы изменять можно, это не сессия.
Готовы к инъекции. Кукисы изменять можно, это не сессия.
Спустя 31 минута, 1 секунда (4.02.2011 - 01:31) Dma написал(а):
$pas = mysql_query("SELECT password FROM user WHERE login='".mysql_real_escape_string($_COOKIE['login'])."'",$db); так лучше?
Спустя 13 часов, 32 минуты, 47 секунд (4.02.2011 - 15:04) Dma написал(а):
Я решил вообще не хранить в куках пароль, а генерирывать каждому пользывателю уникальный ключ и записывать его в куки.
Спустя 1 день, 4 часа, 2 минуты, 32 секунды (5.02.2011 - 19:06) alex12060 написал(а):
Я бы не стал запоминать вот такой пароль: xDeSaAaWT12
Спустя 3 дня, 7 часов, 6 минут, 47 секунд (9.02.2011 - 02:13) phpsc написал(а):
$login = $_POST['login'];нужно так :
$login =mysql_real_escape_string($_POST['login'];)
Спустя 2 дня, 20 часов, 28 минут (11.02.2011 - 22:41) Fredrich написал(а):
Идея хорошо
Спустя 30 минут, 8 секунд (11.02.2011 - 23:11) twin написал(а):
phpsc
не нужно так.
не нужно так.