HOME    FORUMS    MEMBERS    RECENT POSTS    LOG IN  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > ПРОГРАММИРОВАНИЕ > PHP
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

Http Authentification и PHP
  #1  
Старый 24.04.2007, 22:20
Helios
Постоянный
Регистрация: 14.01.2007
Сообщений: 459
Провел на форуме:
1469995

Репутация: 589
Отправить сообщение для Helios с помощью ICQ
По умолчанию Http Authentification и PHP

Делаю авторизацию для админки одного портала. Использую для получения пары login/pass Http-Авторизацию.

Если со входом в систему все работает нормально, то с выходом чет не работает:

Для выхода использую ссылку index.php?logout=true, при этом пользователь получает в ответ:

Цитата:
HTTP/1.0 401 Unauthorized
Status: 401 Unauthorized
WWW-Authenticate: Basic realm="Administration area"
После чего у браузера, по идее, желание отправлять аутентификационную информацию должно пропасть...

Но нет... Нажимаю Cancel, вижу страницу с информацией о ошибке аторизации. Подправляю в адресной строке index.php?logout=true на index.php и, о чудо, я опять в админке...

Собственно вопрос: как организовать нормальный выход из системы, не используя дополнительной информации типа кукисов или сессий?
 
Ответить с цитированием

  #2  
Старый 24.04.2007, 22:33
SMiX
Участник форума
Регистрация: 25.07.2005
Сообщений: 246
Провел на форуме:
457850

Репутация: 174
По умолчанию

Попробуй слать юзера на index.php пост-формой, в постварах сунь идентификатор логаута через скрытый инпут.
 
Ответить с цитированием

  #3  
Старый 24.04.2007, 23:33
hidden
Постоянный
Регистрация: 23.04.2006
Сообщений: 622
Провел на форуме:
5887054

Репутация: 1292


По умолчанию

При логауте, тебе нужно снова послать запрос на авторизацию, и когда появится окно, не вводя ничего, нажать ОК, а после этого, скрипт должен сообщить об удачной авторизации.

Последний раз редактировалось hidden; 24.04.2007 в 23:37..
 
Ответить с цитированием

  #4  
Старый 25.04.2007, 08:33
blackybr
♠ ♦ ♣ ♥
Регистрация: 18.05.2006
Сообщений: 1,828
Провел на форуме:
8042357

Репутация: 3742


Отправить сообщение для blackybr с помощью ICQ Отправить сообщение для blackybr с помощью AIM Отправить сообщение для blackybr с помощью Yahoo
По умолчанию

PHP код:
<?php

$username 
$PHP_AUTH_USER;
$password $PHP_AUTH_PW;

    
cfunction authenticate() {
        
Header("WWW-authenticate: Basic realm=\"Restrict
("
.strftime("%r",time()).")\"");
        
Header("HTTP/1.0 401 Unauthorized");
        echo 
"You must enter a valid login ID and password to access
this resource\n"
;
        exit;
    }

    if(
$logout==1) {

         
setcookie("login","off");
         
$PHP_SELF =
str_replace("logout=1","",$PHP_SELF);
         
header("Location: $PHP_SELF");
         exit();
    }

    if(!isset(
$username) && !isset($password) ||
$login=="off") {
        
setcookie("login","on");
        
authenticate();
    } else {

       
/*
       Authtentication code here
       */

        
if(!$auth) {
            
authenticate();
        }
        else 
setcookie("login","on");
    }

?>

Hi <?=$PHP_AUTH_USER?> you are logged in :-)

<a href="<?=$PHP_SELF?>?logout=1">Click here to
logout</a>
__________________
Привет! Меня зовут Джордж, и я хотел бы рассказать вам про реинкарнацию (ц) 2x2
 
Ответить с цитированием

  #5  
Старый 25.04.2007, 11:24
Helios
Постоянный
Регистрация: 14.01.2007
Сообщений: 459
Провел на форуме:
1469995

Репутация: 589
Отправить сообщение для Helios с помощью ICQ
По умолчанию

В итоге сделал обычную авторизацию с использованием сессий (логин и пасс беру через WWW-Authenticate - так хотел заказчик), но вопрос остается открытым:

Возможно ли сделать нормальный выход без помощи дополнительных довесков?
 
Ответить с цитированием

  #6  
Старый 25.04.2007, 18:20
SMiX
Участник форума
Регистрация: 25.07.2005
Сообщений: 246
Провел на форуме:
457850

Репутация: 174
По умолчанию

Ну вот я написал вариант без кукисов и сессий - должно работать.
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Books PHP FRAGNATIC PHP 186 21.02.2010 02:41
Proxy Kozak-Scv Анонимность 2 11.02.2007 17:28



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ