Возможно, злоумышленник может редактировать $_SESSION?

Я сохраняю важную информацию в $_SESSION, а не в $_COOKIE. Итак, мой вопрос, это опасно? Или он защищен от вредоносных пользователей, пытающихся его отредактировать, и я в порядке? Спасибо.

Кстати, можно ли также редактировать $_COOKIE? Я слышал, да, но если да, то как?

Ответы

Ответ 1

$_SESSION хранится на стороне сервера. Лучший хакер мог бы заменить другой сеанс пользователя для существующего сеанса, но хакер не смог вставить произвольные данные в $_SESSION. Тем не менее, $_COOKIE хранится на стороне клиента, поэтому хакер может вставлять произвольные данные в файл cookie, просто редактируя файл cookie.

Ответ 2

По умолчанию $_SESSION уже поддерживается файлом cookie с именем phpsessionid (чтобы сервер смог идентифицировать клиента и связать его с одним из сеансов в памяти сервера). Если хакер знает значение cookie кого-то другого и копирует его в свой собственный файл cookie с тем же именем на том же домене/пути, тогда хакер имеет доступ к тому же $_SESSION. Однако значение cookie является длинным и случайным, чтобы минимизировать риски, связанные с захватом сеанса в течение получаса (тайм-аут сеанса по умолчанию).

Ответ 3

$_ SESSION хранится на вашем веб-сервере, поэтому его невозможно напрямую изменить через Интернет. Конечно, ваше PHP-приложение может обновлять $_SESSION, поэтому злоумышленнику может быть достаточно, чтобы заставить ваше приложение сделать что-то в $_SESSION, что не должно - все зависит от специфики вашего приложения.

$_ COOKIE хранится в пользовательском браузере, что означает, что пользователь имеет право изменять свои собственные файлы cookie.

Одним из основных способов использования файлов cookie является аутентификация. Пользователь регистрируется, и информация хранится в $_SESSION. Файл cookie (хранится в $_COOKIE) записывает идентификатор сеанса пользователя, чтобы ваше приложение узнало, какой сеанс принадлежит зарегистрированному пользователю.

Ответ 4

Если вы беспокоитесь о том, что люди меняют сеансы (захват сеанса), посмотрите session_regenerate_id()

Ответ 5

Да Хакер может захватить сеанс, который вы можете использовать session_regenerate_id(), или украл его  смотреть если вы являетесь администратором и вы вошли в систему (сеанс находится на сервере) хакер, он через xss = > сделает cookie в своем компьютере с этим сеансом и занесет в журнал, изменит пропуск или добавит admin, в конце сеанса


cookie может также украсть, посмотреть этот код   setcookie("admin","admin_log",time()+3600);  если хакер знает код, похожий на openource, он может регистрироваться как  make cookie с помощью firefox addons в качестве имени и значения cookie

Ответ 6

Cookies отправляются через пользовательский агент каждый раз, когда запрашивается страница. Пользователь-агент не обязательно должен быть браузером. Это может быть небольшая оболочка script. Даже если это браузер, есть расширение "edit cookie" для Firefox.

Ответ 7

$_ COOKIE содержит информацию, которую клиент отправил на ваш веб-сервер. Чаще всего это содержимое файлов cookie браузера, но t может содержать НИЧЕГО, поэтому не доверяйте ему.