[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Регестрация на сайте
Dma
Пишу регистрацию на сайте на сколько актуален данный php код?

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 будет надежнее одного раза? И почему? И зачем в кукисы ещё и третий раз делаешь?

Спустя 5 минут, 57 секунд (3.02.2011 - 23:53) Dma написал(а):
В кукисах я делаю для скрытия ип, а 2 мд5 мне кажется надёжнее одного...
Спасибо за сылки сейчас почитаю.

Спустя 9 минут, 42 секунды (4.02.2011 - 00:03) inpost написал(а):
Dma
Как может быть абракадабра надежнее другой абракадабры? smile.gif
Ну ладно, скрываешь ай-пи, но зачем? Его ведь подделать нельзя, взломал злоумышленник, получил 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. Каковы действия?

Спустя 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
не нужно так.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.