Возможно, злоумышленник может редактировать $_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 может содержать НИЧЕГО, поэтому не доверяйте ему.