Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Функция входа по cookie работает не правильно

Сообщения:  [1-7] 

 
 автор: alexander95   (24.03.2011 в 19:33)   письмо автору
 
   для: Lotanaen   (24.03.2011 в 17:44)
 

О, черт.
Вы правы.
Надо было всю эту проверку после объявления переменных поставить...
Спасибо, раскрыли глаза)

  Ответить  
 
 автор: Lotanaen   (24.03.2011 в 17:44)   письмо автору
 
   для: alexander95   (18.03.2011 в 22:43)
 

setcookie("name",$name,time()+600);
наверное нужно заменить на:
setcookie("user",$name,time()+600);
if(isset($_COOKIE['user']))
        if(mysql_result(mysql_query("SELECT secode FROM users WHERE u_name=".$_COOKIE['user']),0)==$_COOKIE['si'])
        {
            mysql_query("UPDATE users SET secode=".md5($name.$pass.time())." WHERE u_name=$name");
            setcookie("si",md5($name.$pass.time()),time()+600);
            setcookie("name",$name,time()+600);
            return 1;
        }
        else 
            echo "cookie error"; 

Какое значение у переменной $name;

  Ответить  
 
 автор: alexander95   (23.03.2011 в 00:36)   письмо автору
 
   для: Красная_шляпа   (20.03.2011 в 12:11)
 

нету ошибок, вот в том то и дело.

просто не редиректит

  Ответить  
 
 автор: Красная_шляпа   (20.03.2011 в 12:11)   письмо автору
 
   для: alexander95   (19.03.2011 в 20:39)
 

erorr_reporting(E_ALL); в самое начало

и echo mysql_error()."<br>"; после каждого запроса и смотрим ошибки

  Ответить  
 
 автор: alexander95   (19.03.2011 в 20:39)   письмо автору
 
   для: Красная_шляпа   (18.03.2011 в 23:41)
 

Да там, если вы посмотрите, почти нигде кавычки и не стоят. Но дело все же не в этом, все равно не получается..

  Ответить  
 
 автор: Красная_шляпа   (18.03.2011 в 23:41)   письмо автору
 
   для: alexander95   (18.03.2011 в 22:43)
 

mysql_query("SELECT secode FROM users WHERE u_name='".mysql_real_escape_string(.$_COOKIE['user'])."';")

вообщем sql инъекция, а не работает из-за ковычек

  Ответить  
 
 автор: alexander95   (18.03.2011 в 22:43)   письмо автору
 
 

<?
function login(){
    if(isset(
$_COOKIE['user']))
        if(
mysql_result(mysql_query("SELECT secode FROM users WHERE u_name=".$_COOKIE['user']),0)==$_COOKIE['si'])
        {
            
mysql_query("UPDATE users SET secode=".md5($name.$pass.time())." WHERE u_name=$name");
            
setcookie("si",md5($name.$pass.time()),time()+600);
            
setcookie("name",$name,time()+600);
            return 
1;
        }
        else 
            echo 
"cookie error";
    
$name=$_POST['name'];
    
$pass=$_POST['pass'];
    
$query="SELECT passwd FROM users WHERE u_name='$name'";
    
$res=mysql_query($query);
    if(!
$res
        return 
0;
    
$res=mysql_result($res0);
    if(
$pass==$res)
    {
        
mysql_query("UPDATE users SET secode=".md5($name.$pass.time())." WHERE u_name=$name");
        
setcookie("si",md5($name.$pass.time()),time()+600);
        
setcookie("name",$name,time()+600);
        return 
1;
    }
    else
        return 
0;
}
?>


Кука создается при правильных логине и пароле, а вот при следующем заходе на страницу должно работать так:
<? login()?header("location: private"):$err=1?>


$err дальше обрабатывается, а вот перекидывает на private только при первом попадании на страницу. При следующем заходе на нее не перекидывает.

upd.
да, кстати, секурити только время от времени записывается.

  Ответить  

Сообщения:  [1-7] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования