Я сохраняю важную информацию в $_SESSION
, а не в $_COOKIE
. Итак, мой вопрос, это опасно? Или он защищен от вредоносных пользователей, пытающихся его отредактировать, и я в порядке? Спасибо.
Кстати, можно ли также редактировать $_COOKIE
? Я слышал, да, но если да, то как?
$_SESSION
хранится на стороне сервера. Лучшее, что мог сделать хакер, было бы заменой сеанса другого пользователя для существующего сеанса, но хакер не смог вставить произвольные данные в $_SESSION
. $_COOKIE
хранится на стороне клиента, поэтому хакер может вставлять произвольные данные в файл cookie, просто редактируя файл cookie.
По умолчанию $_SESSION
уже поддерживается файлом cookie с именем phpsessionid
(так что сервер может идентифицировать клиента и связывать его с одним из сеансов в памяти сервера). Если хакер знает значение cookie кого-то другого и копирует его в свой собственный файл cookie с тем же именем на том же домене / пути, тогда у хакера есть доступ к той же $_SESSION
. Значение cookie, однако, является длинным и случайным, чтобы минимизировать риски, связанные с захватом сеанса в течение получаса (тайм-аут сеанса по умолчанию).
Если вы беспокоитесь о том, что люди, изменяющие сеансы (захват сеанса), смотрят на session_regenerate_id()
$ _SESSION хранится на вашем веб-сервере, поэтому его невозможно напрямую изменить через Интернет. Конечно, ваше PHP-приложение может обновлять $ _SESSION, поэтому злоумышленнику может быть достаточно, чтобы ваше приложение могло сделать что-то для $ _SESSION, чего не должно было – все зависит от специфики вашего приложения.
$ _COOKIE хранится в браузере пользователя, что означает, что пользователь имеет право изменять свои собственные файлы cookie.
Одним из основных способов использования файлов cookie является аутентификация. Пользователь регистрируется, и информация хранится в $ _SESSION. Файл cookie (хранится в $ _COOKIE) записывает идентификатор сеанса пользователя, чтобы ваше приложение узнало, какой сеанс принадлежит зарегистрированному пользователю.
Да, Хакер может захватить сессию, которую вы можете использовать session_regenerate_id()
, или украл ее, если вы являетесь администратором и вы вошли в систему (сеанс на сервере), хакер, используя xss =>, сделает cookie в своем компьютере с этой сессией и журнал, изменить проход или добавить администратора, в конце сеанса
cookie может также украсть, посмотрите этот код setcookie("admin","admin_log",time()+3600);
если хакер знает код, похожий на openource, он может записывать как make cookie с помощью firefox addons в качестве имени и значения cookie
Файлы cookie отправляются через пользовательский агент каждый раз, когда запрашивается страница. Пользователь-агент не обязательно должен быть браузером. Это может быть небольшой скрипт оболочки. Даже если это браузер, есть расширение «edit cookie» для Firefox.
$ _COOKIE содержит информацию, которую клиент отправил на ваш веб-сервер. Чаще всего это содержимое файлов cookie браузера, но t может содержать НИЧЕГО, поэтому не доверяйте ему.