Настройка файлов cookie для «Помни меня» - PHP против Javascript - PullRequest
0 голосов
/ 06 февраля 2012

Я следил за этим SO Вопросом и этим SO Вопросом по настройке Запомнить меня.Однако когда я запускаю Cookies в Google, я получаю PHP и Javascript способы сделать это.Какой способ лучше, или мне нужно использовать оба?У меня есть кодовая база на PHP и Javascript, и мне нужна отправная точка.Я вижу множество SO-статей о javascript и php для файлов cookie, но это не то, о чем я спрашиваю. Я знаю разницу между программированием на стороне сервера и на стороне клиента, и что такое файл cookie ... но не смог увидеть явноеответ о том, как установить / получить cookie.Мои предположения будут:

Для установки cookie:

Использовать PHP, когда пользователь входит в систему и устанавливает «Запомнить меня».Хотя на этом этапе клиент имеет контроль, учетные данные должны возвращаться в PHP для проверки.После завершения проверки установите cookie и сохраните токен.

Для проверки cookie:

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

Поэтому я предполагаю, что PHP в обоих направлениях.

Если я прав ... если да, что такое файлы cookie javascriptиспользуется для?

В связи

W3 Schools - PHP Cookies

PHP.net

Ответы [ 2 ]

2 голосов
/ 06 февраля 2012

Файлы cookie Javascript обычно используются для установки положения / цвета элементов на странице в соответствии с предпочтениями пользователя. Например, сайт с несколькими различными темами (например, «темный», «светлый») и кнопками для изменения текущей темы на боковой стороне страницы может хранить тему, выбранную пользователем с помощью файла cookie, чтобы в следующий раз пользователь Заходя на сайт, тема страницы будет одинаковой. Эта информация также может храниться на стороне сервера, но по соображениям конфиденциальности может быть предпочтительнее хранить на стороне клиента, особенно если у пользователя нет учетной записи на сайте.

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

2 голосов
/ 06 февраля 2012

Способ Javascript не будет работать, если javascript недоступен, в то время как установка cookie на стороне сервера гарантированно будет работать, если пользователь явно не заблокировал cookie. Управлять файлами cookie в javascript (через document.cookie) не очень весело, тогда как PHP предоставляет $ _COOKIE (и $ _SESSION, который косвенно зависит от файлов cookie в наиболее распространенных шаблонах использования), с которыми гораздо проще иметь дело. К cookie-файлам, установленным в PHP, можно получить доступ в Javascript, если не указано иное (к которому я вернусь), и я не знаю, что будет с безопасными cookie-файлами (отправленными через https), как в javascript, но я не представляю, было бы приятно.

Cookies могут быть установлены HTTP, только если вы используете серверную технологию для их установки. Если этот параметр установлен, браузеры, поддерживающие только cookie HTTP, будут запрещать доступ к cookie для javascript. Это важно, потому что javascript можно использовать для отслеживания файлов cookie и их кражи, отправляя их перехватчику. Только файлы cookie HTTP предотвращают подобные злоупотребления.

Короче говоря, я бы использовал PHP для настройки вашего cookie.

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