куки, сессии и безопасность - PullRequest
0 голосов
/ 15 ноября 2011

Я придумал собственный способ защиты модераторов на моем сайте. Во-первых, я знаю, что хакер может взломать мою сессию. Поэтому я добавил cookie-файл модератору и установил свой алгоритм установки и удаления этих cookie-файлов.

Во-первых, я должен предпринять следующие меры предосторожности, когда модератор входит в систему:

        if('Moderator'==is_monitor($name))//function finds who is the user
        {
            ini_set('session.use_only_cookies',true);
            session_start();
            $password_hash = hash('sha256',$salt.hash('sha256', $pass));
            $_SESSION['mod_identify']=$password_hash;
            if(!isset($_Cookie['adderss']))
            {
              setCookie("adderss",$ip_address,time()+60*60*24*365*5,"/");
            }

Затем я использую это для сброса сеансов на каждой странице:

if(!isset($_SESSION))
{
   start_session(); // all sessions should be reset with a new id
}

Вопрос в том, является ли установка файлов cookie для многих страниц обременением модератора?!?

Считаете ли вы, что мой путь достаточно безопасен против перехвата сеансов / файлов cookie?

1 Ответ

4 голосов
/ 15 ноября 2011

Нет. Используйте HTTPS - который использует SSL - если вы хотите предотвратить перехват сеанса. Кроме того, никогда не сохраняйте пароль учетной записи какого-либо пользователя в сеансе, если это $pass.

В качестве альтернативы, вы можете использовать класс-оболочку Session, например this . Обратите внимание, что это не защитит от перехвата сеанса, а просто зашифровывает хранящиеся в нем данные.

Кроме того, если вы не создали свою собственную пользовательскую функцию с именем "start_session ()", тогда session_start() - это функция, которую вы хотите вызвать для запуска сеансов.

Если вы хотите перенаправить пользователей на HTTPS, вы можете сделать это с помощью mod_rewrite apache в вашем файле .htaccess, например:

RewriteCond %{REQUEST_URI} =/admin
RewriteCond %{HTTPS} off
RewriteRule ^(.*) https://%{HTTP_HOST}%{REQUEST_URI}

Или что-то подобное, в зависимости от того, где вы хотите, чтобы пользователи использовали слой безопасных сокетов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...