Преимущества сессий перед файлами cookie в PHP - PullRequest
2 голосов
/ 14 ноября 2011

Итак, я думаю, что у меня есть базовое представление о том, что такое Cookies и сессии. Файлы cookie хранятся на клиенте, а сеансы хранятся на сервере. Но я хотел бы знать, в чем преимущество использования сеанса перед файлом cookie? Используется ли просто сеанс для обмена данными между страницами?

Ответы [ 7 ]

7 голосов
/ 14 ноября 2011

Сессии являются лучшей идеей, когда вы не хотите, чтобы клиент имел возможность связываться с данными.Например, с помощью переменной сеанса для хранения идентификатора пользователя текущего пользователя все в порядке.Использование cookie, однако, является огромной дырой в безопасности, поскольку наполовину умный человек сможет подделать другие идентификаторы пользователей и получить доступ к другим учетным записям.

2 голосов
/ 14 ноября 2011

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

Конечно, вы можете получить лучшее из обоих миров! Как только вы узнаете, что каждый из них делает, вы можете использовать комбинацию файлов cookie и сеансов, чтобы ваш сайт работал именно так, как вы этого хотите.

см .: http://php.about.com/od/learnphp/qt/session_cookie.htm

1 голос
/ 14 ноября 2011

Данные cookie могут быть изменены, так как данные хранятся локально (на клиенте), где данные сеанса хранятся на сервере и не могут быть изменены (клиентом).

Однако сеанс PHP устанавливает cookie в вашем браузере, так что PHP может ссылаться на ключ сеанса в cookie и предоставлять вам соответствующий сеанс. Это означает, что если кто-то получит ваш сеансовый ключ, он может добавить cookie в свой браузер и, по сути, взломать ваш сеанс.

1 голос
/ 14 ноября 2011

Вы используете куки для идентификации сессии.Вы не будете устанавливать всю свою важную информацию в куки, потому что пользователи могут испортить эту информацию.Данные в вашем сеансе более безопасны.

0 голосов
/ 14 ноября 2011

Используйте оба.

Используйте только cookie для идентификации сеанса.Данные cookie отправляются с каждым запросом (даже для изображений, если они находятся на веб-сервере).Минимизация данных в cookie означает, что по сети отправляется меньше данных.

Сохраняйте все другие данные приложения в сеансе.Будьте осторожны, чтобы данные сеанса были небольшими.Большой объем данных в сеансе перегружает сервер использованием памяти, если много запросов от разных пользователей.Храните большие данные в объекте User в объекте или связанных объектах, связанных с User.

Надеюсь, это поможет ...

0 голосов
/ 14 ноября 2011

Посмотрите: PHP - Сеансы против куки

sessions служат временным держателем информации, которая может скрывать информацию, тогда как cookies служат как временным, так и долгосрочнымвладелец информации.После того, как разница между сеансами и файлами cookie очевидна, сделать правильный выбор для веб-сайта довольно просто.Хотя сеансы могут показаться более простыми в использовании, чем файлы cookie, никогда не сомневайтесь в силе и простоте использования файлов cookie.

Надеюсь, это поможет.

0 голосов
/ 14 ноября 2011

PHP-сессии реализуются через куки в клиентском браузере.

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