MalkoR
Гуру
(2706)
14 лет назад
Сессия - это файл, на сервере. В который пишутся данные заданные через $_SESSION. При этом, механизм сессий, генерирует на каждую сессию - ключ, который записывает в кукисы браузера.
При этом, после закрытия браузера, этот ключ становится не действительным.
Кукисы - почти такой же механизм, но записывается инфа в файле, созданном на стороне клиента.
Плюсы сессий,
1. инфа хранится на сервере, и её никто, включая клиент, не может прочитать. Он увидит только ключ сессии. Это безопасно, для хранения любой инфы.
2. если много параметров, то не нужно спрашивать клиента инфу и с него тянуть эту инфу. Она уже хранится на сервере. Т. е. меньше трафика, для хранения каких то ключей.
3. опять же, безопасно, клиент не сможет подставить значения. Так как хранится на сервере.
Плюсы кукисов, хм. .
1. время жизни кукиса, можно задать вручную. И клиенту, можно записать в кукис, какую то инфу, которая будет храниться заданное время.
Минусы кукисов:
1. не безопасно. Клиент может подставить любые интересные ему значения. . Например, account_id который не дай бог, будет использоваться для аутенфикации. Клиент может поставить account_id = 1, и с высокой вероятностью, что это будет id админа. Таким образом, поимеет права админа на сайте.
(вообще, на практике, кукисы вообще не использую. . они нафиг не нужны. . их роль, может быть использована, только если, клиент выбрал например язык другой на сайте, и запомнить его выбор. . а не в базе хранить. . и то, это будет работать не на аккаунт, а конкретно на один браузер, с которого он зашел. Зайдет с другого браузера, его выбора не будет.. )