The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Авторизация на COOKIE"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы WEB технологии (Public)
Изначальное сообщение [Проследить за развитием треда]

"Авторизация на COOKIE"  
Сообщение от 10100100 (ok) on 01-Авг-06, 11:08 
в общем вопрос то сам вот в чём.
когда юзер впервые входит на сайт у негона экране в определённом месте появляется формочка для авторизации, после того как он авторизовался он переходит на главную страницу и по идее менюшка для ввода имени и пароля должна исчезать, так как в коде прописано - если куки не пустые то не выводить форму авторизации, а инфа после авторизации записывается в куки, и вместо неё должна быть надпись "Вы авторизованы $name" но этого но происходит, но это ещё не самое странное. Самое странно что когда юзверь переходит в меню авторизации/регистрации это самое окошко исчезает и скрипт работает корректно :( я вообще не могу понять в чём причина...


<?php
Error_Reporting(E_ALL & ~E_NOTICE);  
if (!$_COOKIE["valid_user"])
{  echo '
<form name=enterform method=post action=/underconscio/cmsintez/registration/auth.php>    
<td bgcolor=ffffff width=126 height=23></td><td bgcolor=ffffff width=162 height=23>                      
<small>Имя:</small>
<input style=background-color:EDEBEB;color:000000;font-size:10;height:17;width:80 type=text name=name>
</td><td bgcolor=ffffff width=136 height=23>
<small>Пароль:</small>
<input style=background-color:EDEBEB;color:000000;font-size:10;height:17;width:80 type=password name=pass>
</td><td bgcolor=ffffff width=149 height=23>
<input style=background-color:ffffff;border:0;font-size:11;height:20;width:50 type=submit name=submit value=вход>
</td>
</form>';
}
else {
echo '<td bgcolor=ffffff width=126 height=23></td>
<td bgcolor=ffffff width=162 height=23><small>Вы авторизованы <b>';
echo $valid_user;
echo '</b></small></td>
<td bgcolor=ffffff width=136 height=23></td>
<td bgcolor=ffffff width=149 height=23></td>
';}?>
этот код инклудится из папки, допустим "Authorization" и кода мы нажимаем на "вход" мы перемещаемся в эту папку, вот там то все куки и работают как надо - с ними там что хочу то и делаю, но как только возвращаюсь в корневую папку - ничего не работает. блин - видать туплю, ожет ктонибуль "популярно" обьяснить?
  
  код авторизации/регистрации:

<?php
include ("config.php");
//начало проверка на правильность ввода имени и пароля пользователя.
if (empty($name))
    {
        echo 'Вы не ввели <b>Имя</b>, пожалуйста попробуйте ещё раз.';
        exit();
    }
if (empty($pass))
    {
        echo 'Вы не ввели <b>Пароль</b>, пожалуйста попробуйте ещё раз.';
        exit();
    }
$name=trim($name);
$pass=trim($pass);
if (!ereg("[A-Za-zА-Яа-я0-9'()|\/,.~!@#$%^&*;: -]{1,20}", $name))
    {
        echo 'Введены запрещённые символы в <b>Имени</b>, попробуйте ещё раз.';
        exit();
    }
else {
    if (!ereg("[A-Za-zА-Яа-я0-9]{1,20}", $pass))
    {
        echo 'Введены запрещённые символы в <b>Пароле</b>, попробуйте ещё раз.';
            exit();
    }
    else {
            $pass=md5($pass);
    }
}
//конец проверка на правильность ввода имени и пароля пользователя.

//изменяем время последнего посещения страницы Юзером.
$query2 = "UPDATE user SET last_time = NOW() FROM user WHERE name = '".$name."'";
mysql_query($query2);
//данные занесены

//начало проверки на существование тковых логина и пароля и соответствнный вывод либо не выводформы регистрации.
$query = "SELECT pass FROM user WHERE name='".$name."'";  
$passw = mysql_query($query);  
$password = mysql_fetch_array($passw);
$passw_num_rows = mysql_num_rows($passw);
if(!$passw)  
{  
    echo "Ошибка выполнения запроса.";  
    exit();  
}  
if (empty($passw_num_rows))
{
    include ("../../up.html");
    include ("../../buttons.php");
    echo '<td width=100% bgcolor=D4D4D4 valign=top>
    <table width=100% border=0 cellpadding=0 cellspacing=0><tr><td>';
    echo 'Пользователь с таким именем не обнаружен.<br>Пожалуйста повторите авторизацию.<br>Если Вы не зарегистрированы,     то можете зарегистрироваться здесь.';
    include ("registration.php");
    include ("../../dawn.html");
    exit();
}
else  
{
    {
        setcookie("valid_user", $name, time()+604800);
        if (!$_COOKIE["valid_user"])
        {
            echo 'Плюшки не заполнены.';
        }
        else  
        {
        echo 'Плюшки вродебы заполнены';
        }
    }
    include ("../../up.html");
    include ("../../buttons.php");
    echo '<td width=100% bgcolor=D4D4D4 valign=top>
    <table width=100% border=0 cellpadding=0 cellspacing=0><tr><td>';
    echo 'Пользователь с таким именем действительно есть. и его зовут <b>';
    echo $name;
    echo '</b>!<br>';
        if ($pass == $password['pass'])
        {
            echo 'И его пароль равен паролю введённому Вами.';
        }
        else
        {
            echo 'Но его <b>пароль не равен тому что ввели Вы</b>.<br> Попробуйте пройти авторизацию повторно.<br>Если Вы не зарегистрированы, то можете сделать это здесь';
    include ("registration.php");
        }

    include ("../../dawn.html");
    exit();    
}
?>

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

 Оглавление

Сообщения по теме [Сортировка по времени, UBB]


1. "Авторизация на COOKIE"  
Сообщение от hex email(??) on 01-Авг-06, 17:43 
Лень читать код, может страница тупо берётся браузером из кеша? :) Ладно, читаем.

Ой, а разве хранение даже хешированного пароля в куках хоть как-то имеет отношение к безопасности?
Ой, а разве вам было сложно прочитать русифицированную документацию к команде setcookie и узнать, зачем нужен параметр path?

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

2. "Авторизация на COOKIE"  
Сообщение от 10100100 (??) on 01-Авг-06, 18:54 
хы - грубиян :))

ой - а разве пароль записывается в моём коде в Куки? - вроде нет.
ой - а я прочитал этот ман - только вот беда - вписываю в path $_SERVER['HTTP_HOST'] а Куки в таком случае вообще создаваться не хотят... вот этого то я и не понял - почему не создаются...

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

3. "Авторизация на COOKIE"  
Сообщение от hex email(??) on 01-Авг-06, 20:06 
>ой - а разве пароль записывается в моём коде в Куки? -
>вроде нет.
Хм. И верно. Вообще пипец, никакой безопасности.

>ой - а я прочитал этот ман - только вот беда -
>вписываю в path $_SERVER['HTTP_HOST'] а Куки в таком случае вообще создаваться
>не хотят... вот этого то я и не понял - почему
>не создаются...
Прочитай ещё раз и найди отличия между параметрами "path" и "domain".

>хы - грубиян :))
Атож :)

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

4. "Авторизация на COOKIE"  
Сообщение от 10100100 (??) on 01-Авг-06, 20:49 
>Хм. И верно. Вообще пипец, никакой безопасности.
Дык это, у меня в куку тока логин заносится... или я не прав? ну я куку ужераз Цать проверял - пароля там нет точно!


>Прочитай ещё раз и найди отличия между параметрами "path" и "domain".
да я как отпостился - сразу и понял что косяка давонул :) ток по ману я так и не понял что нужно писать в Path... там вообще какой то наз Размус написан... можь обьяснишь или дай ссылку где подробнее написано, пожалуйста...


>>хы - грубиян :))
>Атож :)
Дык - все мы грубияны :)

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

5. "Авторизация на COOKIE"  
Сообщение от hex email(??) on 02-Авг-06, 06:03 
>>Хм. И верно. Вообще пипец, никакой безопасности.
>Дык это, у меня в куку тока логин заносится... или я не
>прав? ну я куку ужераз Цать проверял - пароля там нет
>точно!
Как тебе сказать... Просто открою для тебя тайну, что куки хранятся на стороне пользователя и могут быть им установлены в любое значение. Дальше продолжать надо?

>>Прочитай ещё раз и найди отличия между параметрами "path" и "domain".
>да я как отпостился - сразу и понял что косяка давонул :)
>ток по ману я так и не понял что нужно писать
>в Path... там вообще какой то наз Размус написан... можь обьяснишь
>или дай ссылку где подробнее написано, пожалуйста...
If set to '/', the cookie will be available within the entire domain. Какая буква не понятна?

Советую поискать в интернете информацию по теме "сессии в php", а заодно хотя бы на том же citforum.ru почитать о протоколе CGI. Потому как практика штука хорошая, но гораздо продуктивнее будет, если узнаешь хотя бы что такое куки, где они хранятся и в каком формате. В каких случаях они передаются на сервер и как часто.

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

6. "Авторизация на COOKIE"  
Сообщение от 10100100 (??) on 02-Авг-06, 09:56 
>Как тебе сказать... Просто открою для тебя тайну, что куки хранятся на
>стороне пользователя и могут быть им установлены в любое значение. Дальше
>продолжать надо?

Это для меня не тайно :))) ток я всёравно непонимаю причём тут пароль? :( ну туплю видимо :(


>If set to '/', the cookie will be available within the entire
>domain. Какая буква не понятна?

вообще буквы понятны все, ток вот их смысл понимаю плохо ибо английский знаю на уровне хомячка :)  тут сказано типо если в поле PATH прописать / то будет установлина кука в исходном  каталоге - да? :)

>Советую поискать в интернете информацию по теме "сессии в php", а заодно
>хотя бы на том же citforum.ru почитать о протоколе CGI. Потому
>как практика штука хорошая, но гораздо продуктивнее будет, если узнаешь хотя
>бы что такое куки, где они хранятся и в каком формате.
>В каких случаях они передаются на сервер и как часто.

Вот это верно - спасибо...

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

7. "Авторизация на COOKIE"  
Сообщение от hex email(??) on 02-Авг-06, 10:12 
Я могу прописать у себя куку с любым именем и приконнектиться к твоему сайту как любой из зарегистрированных пользователей. Пароли тут не при чём, мне их знание даже не понадобится.
Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

8. "Авторизация на COOKIE"  
Сообщение от 10100100 (??) on 02-Авг-06, 12:07 
>Я могу прописать у себя куку с любым именем и приконнектиться к
>твоему сайту как любой из зарегистрированных пользователей. Пароли тут не при
>чём, мне их знание даже не понадобится.

А - ну да :)) логично :)) ток вот кстати я пытался подделать себе кук с Adminom а она почему то сращу удаляется или чё то там происходит - что всёравно - не работает, чё это закосяк такой? ну или точнее - косяк то явно я - мож подскажешь как это делается?

и чтобы ты посоветовал в данном случае использовать? Сессии? была такая мысль, я знаю что каким то макаром соединяюст сессии и куки, но как - то есть мне интересен сам  алгоритм работы такого скрипта...

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру