За последние 24 часа нас посетили 19163 программиста и 1639 роботов. Сейчас ищут 934 программиста ...

Как оборвать сессию?

Тема в разделе "PHP для новичков", создана пользователем schumacher, 28 авг 2009.

  1. schumacher

    schumacher Активный пользователь

    С нами с:
    22 сен 2008
    Сообщения:
    8
    Симпатии:
    0
    вообщем есть такой скрипт самой простой авторизации:
    PHP:
    1. <?
    2. //Настройки Авторизации
    3. //определяем login
    4. define('LOGIN', 'admin');
    5.  
    6. //определяем пароль
    7. define('PASS', 'test');
    8.  
    9. if (@$_SERVER['PHP_AUTH_PW'] != PASS || @$_SERVER['PHP_AUTH_USER'] != LOGIN)
    10. {
    11. header("WWW-authenticate: basic realm=' Админка'");
    12. header("HTTP/1.0 401 Auth Required");
    13. exit("Хода нет!");
    14. }
    15.  
    16. ?>
    скрипт славо богу работает на ура, вставляем его в любой нужный файл посредством:
    PHP:
    1.  include_once("auth.php");
    и авторизуемся, но возник вопрос... "сессия" если это можно так назвать весит чутли не вечно... хотелось бы чтобы после прохождения авторизации через определёное время, предположем через 5-ть минут человеку опять выбивало окно в котором надо было ввести логин и пароль, для проверки авторизации так сказать, подскажите как это сделать...
     
  2. topas

    topas Активный пользователь

    С нами с:
    16 авг 2006
    Сообщения:
    2.258
    Симпатии:
    36
    А че аж через 5 минут? пусть будет каждые пять секунд!!! Для надежности
     
  3. schumacher

    schumacher Активный пользователь

    С нами с:
    22 сен 2008
    Сообщения:
    8
    Симпатии:
    0
    да хоть через 15-ть секунд, покажить как то делаеться на примере.... потому что часто пользователи заходят не со своих компутеров, и браузер сохраняет пароль и потом любой может зайти, особенно мориза, даже после выключения и включения всеодно заходит атоматически... надо чтобы сессия РВАЛАСЬ...
     
  4. topas

    topas Активный пользователь

    С нами с:
    16 авг 2006
    Сообщения:
    2.258
    Симпатии:
    36
    PHP:
    1. <?php
    2. define('LOGIN', 'admin');
    3. define('PASS', 'test');
    4. if (@$_SERVER['PHP_AUTH_PW'] != PASS || @$_SERVER['PHP_AUTH_USER'] != LOGIN || rand(1, 100) > 90 ){
    5.   header("WWW-authenticate: basic realm=' Админка'");
    6.   header("HTTP/1.0 401 Auth Required");
    7.   exit("Хода нет!");
    8. }
    9.  
     
  5. schumacher

    schumacher Активный пользователь

    С нами с:
    22 сен 2008
    Сообщения:
    8
    Симпатии:
    0
    а сколько там времени если не секрет ?
     
  6. thunderpick

    thunderpick Активный пользователь

    С нами с:
    10 апр 2006
    Сообщения:
    127
    Симпатии:
    0
    Адрес:
    Москва
    Код (Text):
    1. rand(1, 100) > 90
     
  7. topas

    topas Активный пользователь

    С нами с:
    16 авг 2006
    Сообщения:
    2.258
    Симпатии:
    36
    schumacher
    В среднем на 100 страниц будет у тебя около 10 запросов авторизации :)
     
  8. AlexGousev

    AlexGousev Активный пользователь

    С нами с:
    25 мар 2006
    Сообщения:
    1.505
    Симпатии:
    0
    Адрес:
    Москва
    session_start() - запуск сессии. В $_SESSION записать время логина.
    Смотреть на это время и если оно больше, чем нужно, то запрашивать авторизацию еще раз.