PHP сессия cookie - проблема безопасности - PullRequest
0 голосов
/ 12 декабря 2018

Я использую cookie-файл сеанса для отображения идентификатора категории с одной страницы на другую в Wordpress, используя следующий код:

<?php if(is_product_category()) {
    session_start();
    $cat_obj = $wp_query->get_queried_object();
    $thiscat_id = $cat_obj->term_id;
    $_SESSION['category'] = $thiscat_id;
} ?>

<?php if(is_product()) {
    session_start();
}
?>

<div <?php if(is_product()) { ?> data-cat="<?php echo $_SESSION['category']; ?>" <?php } ?> id="content" class="site-content">

Однако, прочитав сеансы, я обнаружил, что ониможет быть угрозой безопасности, если сделано неправильно.

Мне просто интересно, есть ли в приведенном выше коде недостатки, которые могут повлиять на безопасность?

1 Ответ

0 голосов
/ 12 декабря 2018

Согласно комментариям, это только риск для безопасности, если он не может защитить актив с некоторой ценностью - ценность актива не ясна из вашего вопроса.Если, например, у вас есть «категория», которая разрешает действия администратора на вашем сайте, тогда могут быть риски.

Да, существуют большие проблемы с безопасностью во время сеансов, но большинство из них имеют очень мало общего сваш код PHP, а скорее с конфигурацией PHP и веб-сервера:

  • идентификаторы сеанса всегда должны изменяться при изменении состояния аутентификации (логин и выход из системы)
  • , если толькодоступ к сайту осуществляется по протоколу HTTPS и , файл cookie сеанса имеет флаг безопасности, тривиально перехватить сеанс
  • нулевые сеансы должны вызывать новый идентификатор сеанса и состояние сеанса по умолчанию
  • сеансовые куки должны быть httponly
  • на общем хосте, данные сеанса должны быть зашифрованы с использованием ключа , а не сохранены на хосте
  • данные сеанса никогда не должны быть доступны дляконечный пользователь
  • идентификаторы сеанса не должны быть предсказуемыми
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...