За последние 24 часа нас посетил 17401 программист и 1681 робот. Сейчас ищут 966 программистов ...

Сессии? Вопрос безопасности...

Тема в разделе "PHP для новичков", создана пользователем Ambrella, 18 апр 2008.

  1. Ambrella

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

    С нами с:
    10 ноя 2007
    Сообщения:
    206
    Симпатии:
    0
    Вопрос безопасности... Стоит использовать сессии стандартным способом который для них определен на сервере или реализовать через SQL ? Есть ли смысл что то изобретать или стандартная опция достаточно безопасно работает?

    Спасибо!
     
  2. creage

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

    С нами с:
    12 мар 2008
    Сообщения:
    131
    Симпатии:
    0
    Адрес:
    Киев
    я думаю не стоит. Если вам параноидально нужна безопасность, юзайте SSL.

    P.S. Когда я писал сайты на Parser3, мне очень не хватало в нем PHP-шных сессий, пришлось реализовать свой механизм с таблицей в БД и куками.
     
  3. Ambrella

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

    С нами с:
    10 ноя 2007
    Сообщения:
    206
    Симпатии:
    0
    Параноя оправдана? Или стандартный механизм не так уже легко и преодолеть?

    Или например использовать стандартную сессию в связке с постоянной проверкой ID пользователя к полученному при входе с паролем...
     
  4. Вльдемар

    Вльдемар Активный пользователь

    С нами с:
    20 май 2006
    Сообщения:
    635
    Симпатии:
    0
    Адрес:
    Белхород
    я использую session_id + браузер + ip
     
  5. Ambrella

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

    С нами с:
    10 ноя 2007
    Сообщения:
    206
    Симпатии:
    0
    Вльдемар
    Используеш простую сессию + нименование броузера и ip, так?

    имя броузера и ip — передачешь через сессию или отдельно?
     
  6. Mr.M.I.T.

    Mr.M.I.T. Старожил

    С нами с:
    28 янв 2008
    Сообщения:
    4.586
    Симпатии:
    1
    Адрес:
    у тебя канфетка?
    или стандартная опция достаточно безопасно работает<<
    Всё норм работает =)
    только не очень удобно управлять..хранить сессии в Бд куда удобнее.. ИМХО =)
     
  7. Вльдемар

    Вльдемар Активный пользователь

    С нами с:
    20 май 2006
    Сообщения:
    635
    Симпатии:
    0
    Адрес:
    Белхород
    id сессии

    PHP:
    1.  
    2. <?php
    3. class MySession {
    4.     private $browser;
    5.     private $ip;
    6.     private $session_key;
    7.     private $time;
    8.     private $lifesession;
    9.     private $session;
    10.  
    11.     function __construct($lifesession=86400) {
    12.         $this->browser       = $_SERVER['HTTP_USER_AGENT'];
    13.         $this->ip            = $_SERVER['REMOTE_ADDR'];
    14.         $this->session_key     = session_id();
    15.         $this->time        = mktime();
    16.         $this->lifesession       = $lifesession;
    17.                 $session = //запрос к функции БД которая возвращает сериализованный массив сессии и одновременно чистит просроченные сессии
    18.         $this->session       = ( $session != 'f' ) ? unserialize($session) : array();
    19.     }
    20.  
    21.         /*
    22.          вспомогательные функции такие как delete, update, clear и т.д.
    23.         */
    24.  
    25.     function __destruct() {
    26.         // сохраняем в базу сериализованный массив $this->session;
    27.     }
    28.  
    29. }
    30. ?>
    31.  
    32.  
     
  8. Ambrella

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

    С нами с:
    10 ноя 2007
    Сообщения:
    206
    Симпатии:
    0
    Спасибо!
    Пришол где то к такому же решению...