Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Окончание авторизации

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
BoJlod9I
Отправлено: 22 Мая, 2011 - 16:47:20
Post Id


Частый гость


Покинул форум
Сообщений всего: 129
Дата рег-ции: Февр. 2011  


Помог: 1 раз(а)




Привет всем! Пожалуйста помогите сделать окончание авторизации с кнопкой при которой я б нажал и сессия закончилась. Просто не могу понять что к чему тут =(

PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. include("db.php");
  3. if ($_GET['logout']==1)
  4. {
  5.        unset($_SERVER['PHP_AUTH_USER']);
  6.        unset($_SERVER['PHP_AUTH_PW']);
  7.  
  8. }
  9. if (!isset($_SERVER['PHP_AUTH_USER']))
  10.  
  11. {
  12.        Header ("WWW-Authenticate: Basic realm=\"Panel of Nad1n\"");
  13.        Header ("HTTP/1.0 401 Unauthorized");
  14.        exit();
  15. }
  16.  
  17. else {
  18.        if (!get_magic_quotes_gpc()) {
  19.                $_SERVER['PHP_AUTH_USER'] = mysql_escape_string($_SERVER['PHP_AUTH_USER']);
  20.                $_SERVER['PHP_AUTH_PW'] = mysql_escape_string($_SERVER['PHP_AUTH_PW']);
  21.        }
  22.        $query = "SELECT password FROM admins WHERE login='".$_SERVER['PHP_AUTH_USER']."'";
  23.        $lst = @mysql_query($query);
  24.  
  25.        if (!$lst)
  26.        {
  27.            Header ("WWW-Authenticate: Basic realm=\"Panel of Nad1n\"");
  28.        Header ("HTTP/1.0 401 Unauthorized");
  29.        exit();
  30.        }
  31.        if (mysql_num_rows($lst) == 0)
  32.        {
  33.           Header ("WWW-Authenticate: Basic realm=\"Panel of Nad1n\"");
  34.           Header ("HTTP/1.0 401 Unauthorized");
  35.           exit();
  36.        }
  37.        $pass =  @mysql_fetch_array($lst);
  38.        if ($_SERVER['PHP_AUTH_PW']!= $pass['password'])
  39.        {
  40.            Header ("WWW-Authenticate: Basic realm=\"Panel of Nad1n\"");
  41.           Header ("HTTP/1.0 401 Unauthorized");
  42.           exit();
  43.        }
  44. }
  45. ?>
 
 Top
Dazar
Отправлено: 22 Мая, 2011 - 17:33:07
Post Id


Частый гость


Покинул форум
Сообщений всего: 139
Дата рег-ции: Янв. 2011  


Помог: 0 раз(а)




Это что за код? Сам написал или откудато взял?
 
 Top
maragon
Отправлено: 22 Мая, 2011 - 17:35:14
Post Id



Посетитель


Покинул форум
Сообщений всего: 340
Дата рег-ции: Февр. 2011  


Помог: 2 раз(а)




где-то вырыл походу. как по мне - ужасть Закатив глазки


-----
https://vk[dot]com/tvoycase_ru - Твой чехол со своим дизайном
 
 Top
Dazar
Отправлено: 22 Мая, 2011 - 17:44:23
Post Id


Частый гость


Покинул форум
Сообщений всего: 139
Дата рег-ции: Янв. 2011  


Помог: 0 раз(а)




По мне тоже. Я сам буквально позавчера разбирлся со всем этим. Вот что нарыл:
Теория: при авторизации вводятся имя и пароль, если пароль совпадает назначается переменная с именем пользователя которая сохраняется при переходе на другую страницу.
Для выхода нужно забыть эту переменную. Кроме этого на каждой странице нужна проверка типа есть переменная/или её нету.
А вот и код:
Вход:
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. session_start(); //начинаем сессию
  3. $_SESSION['username'] = "$username";//присваиваем имя пользователя
  4. ?>

Выход:
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. session_start();//начинаем сессию
  3. unset($_SESSION['username']); ////разрегистрируем переменную
  4. ?>


PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. session_start();//начинаем сессию
  3. if(isset($_SESSION['username'])){}////проверка вошли или вышли
  4. ?>
 
 Top
maragon
Отправлено: 22 Мая, 2011 - 18:03:34
Post Id



Посетитель


Покинул форум
Сообщений всего: 340
Дата рег-ции: Февр. 2011  


Помог: 2 раз(а)




Самый простой вариант. Улыбка
отцы отзовитесь - код ^(выше) небезопасен в плане угона? как обезопаситься от недолюдей Закатив глазки


-----
https://vk[dot]com/tvoycase_ru - Твой чехол со своим дизайном
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Напишите за меня, пожалуйста »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB