Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как узнать, включены ли куки? 
V
    Опции темы
maxipub
Дата 30.10.2014, 18:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 517
Регистрация: 22.10.2009

Репутация: нет
Всего: 1



Собственно, сабж. smile 

ЗЫ: при первом запросе.
PM MAIL   Вверх
baldina
Дата 30.10.2014, 18:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3433
Регистрация: 5.12.2007
Где: Москва

Репутация: 26
Всего: 101



никак

Добавлено через 8 минут и 35 секунд
что бы проверить, надо поробовать установить и принять, а для этого браузер должен сделать повторный запрос.
обычно манипулируют Location, чтобы с точки зрения пользователя это был первый запрос, но технически браузер обращается повторно.
PM MAIL   Вверх
s0lman
Дата 30.10.2014, 19:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Белый и лохматый
**


Профиль
Группа: Участник
Сообщений: 637
Регистрация: 1.11.2007
Где: Ukraine

Репутация: 9
Всего: 29



Можно попробовать стартовать сессию. Если не ошибаюсь, по умолчанию SID передается в куках, если они недоступны - в УРЛ. Если в GET найдется идентификатор сессии - возможно, куки отключены.
Хотя я уверен, что проверка включены ли куки - неправильный способ решения какой-то более глобальной задачи.


--------------------
Когда я уже выучусь на волшебника? :(
PM   Вверх
baldina
Дата 30.10.2014, 19:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3433
Регистрация: 5.12.2007
Где: Москва

Репутация: 26
Всего: 101



Цитата(s0lman @  30.10.2014,  19:20 Найти цитируемый пост)
Если в GET найдется идентификатор сессии

пока не будет соответствующего запроса (повторного) ничего в get не найдется
PM MAIL   Вверх
maxipub
Дата 31.10.2014, 09:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 517
Регистрация: 22.10.2009

Репутация: нет
Всего: 1



Цитата(s0lman @  30.10.2014,  19:20 Найти цитируемый пост)
Хотя я уверен, что проверка включены ли куки - неправильный способ решения какой-то более глобальной задачи. 

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

Делаю так: при первом заходе посетителя на сайт, создаем ему гостевой аккаунт и вешаем куку с его guest_id и guest_password. Далее все настройки пишутся в БД, и при регистрации просто импортируются.

Проблема очевидна: юзеры без кук клонируют пустые гест-акки при каждом запросе. Это, конечно, не сверх критично. Но хочется сделать по-нормальному.
PM MAIL   Вверх
baldina
Дата 31.10.2014, 10:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3433
Регистрация: 5.12.2007
Где: Москва

Репутация: 26
Всего: 101



Цитата(maxipub @  31.10.2014,  09:57 Найти цитируемый пост)
Проблема очевидна: юзеры без кук клонируют пустые гест-акки

отнюдь. проблема в реализации. разве сложно проверить, что $_COOKIE пустой?
PM MAIL   Вверх
SergV
Дата 31.10.2014, 12:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 197
Регистрация: 4.8.2006
Где: Германия

Репутация: нет
Всего: 1



Цитата

   Как узнать, включены ли куки?
   

На пхп проверить можно только после перезагрузки страницы, если куки не записаны их нет, то пишем, перезагружаем и читаем. Записались, значить включены, нет, значить нет.
А вот с JavaScript думаю можно проверить без перезагрузки страницы, но я в JS ноль, так что это ток предположение, судя по быстрому поиску, в JS есть возможность работы с куками. JavaScript работает на стороне клиента, в отличии от пыха, а значить можно сразу проверить включена в браузере поддержка куков, или нет.

Цитата

   ...
   Т.е. гость зашел, понастраивал все под себя, зарегался - а все данные уже в его профиле, повторно все настраивать необходимости нет.
   ...
   Делаю так: при первом заходе посетителя на сайт, создаем ему гостевой аккаунт и вешаем куку с его guest_id и guest_password. Далее все настройки пишутся в БД, и при регистрации просто импортируются.
   
   Проблема очевидна: юзеры без кук клонируют пустые гест-акки при каждом запросе. Это, конечно, не сверх критично. Но хочется сделать по-нормальному.
   

А какой смысл давать гостям настраивать сайт под себя по полной программе? Если им нужны настройки, пусть регистрируются нормально, и тогда уже в базе хранить эти настройки. Не хотят региться, то минимум настроек в куки, типа выбрать цвет сайта или тему, и язык по умолчанию(если есть), и всё, кукис на год, и хватит баловать.
ИМХО конечно, но я лично не вижу смысла гостям давать лишние настройки сайта, даже точнее сказать вообще давать им какие нибудь настройки. Но если это так важно, то максимум то что написал выше, а для этого размера куков хватит за глаза, да и можно ведь для одного сайта их создать несколько, если одного мало.

Этот ответ добавлен с нового Винграда - http://vingrad.com
PM   Вверх
maxipub
Дата 31.10.2014, 12:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 517
Регистрация: 22.10.2009

Репутация: нет
Всего: 1



Цитата(baldina @  31.10.2014,  10:36 Найти цитируемый пост)
отнюдь. проблема в реализации. разве сложно проверить, что $_COOKIE пустой?

Цитата(SergV @  31.10.2014,  12:15 Найти цитируемый пост)
 Записались, значить включены, нет, значить нет.

Здорово. А как определить что это не первый запрос от пользователя? Разве что реферер на ум приходит, но этот вариант не надежен. Банально, многие фаерволы, блокировщики рекламы, плагины и т.д. его вырезают. IP + юзерагент тоже гарантий не дают.

Цитата(SergV @  31.10.2014,  12:15 Найти цитируемый пост)
JavaScript

Там можно. Но JavaScript есть не у всех юзеров. Сейчас многие шарятся с телефонов, например.

Цитата(SergV @  31.10.2014,  12:15 Найти цитируемый пост)
А какой смысл давать гостям настраивать сайт под себя по полной программе? Если им нужны настройки, пусть регистрируются нормально, и тогда уже в базе хранить эти настройки.

Сорри, это не вариант в принципе, мы работаем по принципу "все для клиента" и последними не разбрасываемся. smile 
PM MAIL   Вверх
Aliance
Дата 31.10.2014, 14:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 14
Всего: 137



Цитата(maxipub @  31.10.2014,  13:42 Найти цитируемый пост)
 А как определить что это не первый запрос от пользователя?

А зачем это определять?

Цитата(maxipub @  31.10.2014,  13:42 Найти цитируемый пост)
Но JavaScript есть не у всех юзеров. Сейчас многие шарятся с телефонов, например.

JS есть в мобильных устройствах. Равно как и куки. У вас есть ЯМетрика? Она показала бы % пользователей без JS
PM MAIL WWW ICQ Skype   Вверх
s0lman
Дата 31.10.2014, 16:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Белый и лохматый
**


Профиль
Группа: Участник
Сообщений: 637
Регистрация: 1.11.2007
Где: Ukraine

Репутация: 9
Всего: 29



Цитата(maxipub @  31.10.2014,  08:57 Найти цитируемый пост)
Есть сайт, где много разных всяких кастомных штук, которые очень хорошо будет сохранять после регистрации. Т.е. гость зашел, понастраивал все под себя, зарегался - а все данные уже в его профиле, повторно все настраивать необходимости нет. Раньше настройки хранились в куках и проблем (с мусором - дальше описано) не было. Но куки ограничены по размеру, а настройки разрастаются. Да и не очень хорошо огромные кукиши при каждом запросе дергать.

Если, к примеру, храните язык и тему оформления сайта в куках, то если будете достоверно знать, что куки отключены - что это изменит?


--------------------
Когда я уже выучусь на волшебника? :(
PM   Вверх
SergV
Дата 31.10.2014, 17:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 197
Регистрация: 4.8.2006
Где: Германия

Репутация: нет
Всего: 1



Цитата

   А как определить что это не первый запрос от пользователя? Разве что реферер на ум приходит, но этот вариант не надежен. Банально, многие фаерволы, блокировщики рекламы, плагины и т.д. его вырезают. IP + юзерагент тоже гарантий не дают.
   

Если юзер заходит первый раз на сайт, то куков 100 пудов нет, а это проверяется через пустой $_COOKIE. Дальше, если отключен яваскрипт, то к примеру тегом <noscript> можно вывести предупреждение, что без включенного яваскрипт не будет доступно то или сё...
Плюс..., не знаю не одного фаервола или блокировшика который бы вырезал ява скрипт. Есть блокировка по баннерам, всплывающим окнам, и переходам на другую страницу без спроса, а такие скрипты как доступ к кукам думаю не один блокировщик не заблокирует.

Цитата

   Там можно. Но JavaScript есть не у всех юзеров. Сейчас многие шарятся с телефонов, например.
   

Яваскрипт по умолчанию есть у всех юзеров, если они его сами не отключили в браузере. Это Flash не доступен по умолчанию на всяких там айфонах/айпадах, и вроде как на новых андроидах, но и то его можно поставить вручную.

Так что, если всё для клиента, то тут без яваскрипт не обойтись, и здесь для отдельных клиентов, что яваскрипт отключают, можно вежливо дать понять - " Уважаемый пользователь, у вас отключена поддержка JavaScript, которая требуется для полноценной работы сайта. Без JavaScript вы не сможете пользоваться теми и теми возможностями...". Думаю не кто материться не станет из клиентов, и не уйдёт с сайта, да же те кто не знает как его включить назад, если дать ссылку на помощь как включить яваскрипт и куки.
Большинство же клиентов/посетителей даже не знают что ява скрипт можно отключить, а те кто знает, знают как и включить.

Этот ответ добавлен с нового Винграда - http://vingrad.com
PM   Вверх
baldina
Дата 31.10.2014, 17:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3433
Регистрация: 5.12.2007
Где: Москва

Репутация: 26
Всего: 101



Цитата(maxipub @  31.10.2014,  12:42 Найти цитируемый пост)
 А как определить что это не первый запрос от пользователя?

вариантов масса - сессии, параметры запроса, логика приложения.
http://viper-7.com/SeqXf4
PM MAIL   Вверх
maxipub
Дата 3.11.2014, 13:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 517
Регистрация: 22.10.2009

Репутация: нет
Всего: 1



Цитата(Aliance @  31.10.2014,  14:44 Найти цитируемый пост)
А зачем это определять?

Вы писали: "отнюдь. проблема в реализации. разве сложно проверить, что $_COOKIE пустой?". Если первый заход - кук не будет в любом случае. А если куки отключены, то они и не появятся. Итак, имеем ситуацию с запросом без кук: и как тут понять, это просто первый заход на сайт, или же кукиши отключены? Об этом и речь.

Цитата(Aliance @  31.10.2014,  14:44 Найти цитируемый пост)
JS есть в мобильных устройствах. Равно как и куки. У вас есть ЯМетрика? Она показала бы % пользователей без JS

0.7%

Цитата(s0lman @  31.10.2014,  16:18 Найти цитируемый пост)
Если, к примеру, храните язык и тему оформления сайта в куках, то если будете достоверно знать, что куки отключены - что это изменит? 

Не будет засоряться БД.

Цитата(SergV @  31.10.2014,  17:04 Найти цитируемый пост)
Плюс..., не знаю не одного фаервола или блокировшика который бы вырезал ява скрипт.

Таких полно. Я не знаток в них, но тот же NoScript к примеру, жутко популярный.

Цитата(baldina @  31.10.2014,  17:11 Найти цитируемый пост)
сессии

сессии === кукиши smile 

Цитата(baldina @  31.10.2014,  17:11 Найти цитируемый пост)
параметры запроса, логика приложения

???

Добавлено через 2 минуты и 35 секунд
smile Ладно, пришел к выводу что походу проще будет на заморачиваться и удалять из БД гостевые аккаунты, созданные год назад. smile 

Спасибо всем за обсуждение! smile 
PM MAIL   Вверх
baldina
Дата 3.11.2014, 19:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3433
Регистрация: 5.12.2007
Где: Москва

Репутация: 26
Всего: 101



Цитата(maxipub @  3.11.2014,  13:32 Найти цитируемый пост)
сессии === кукиши

нет

Добавлено через 4 минуты и 58 секунд
maxipub, открою вам страшную тайну: если бы в php не существовало сессий, а в http кук, то все равно остается возможность эмуляции сессии. для этого в каждый запрос добавляется идентификатор. это всегда возможно, т.к. контент и содержащиеся в нем ссылки генерируются сервером.

Добавлено через 5 минут и 47 секунд
и вот это почитайте на досуге
PM MAIL   Вверх
maxipub
Дата 4.11.2014, 13:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 517
Регистрация: 22.10.2009

Репутация: нет
Всего: 1



baldina, вы передаете идентификатор сессии через URL?
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0922 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.