Не могу настроить лак для работы с cookie и модулем drupal - PullRequest
0 голосов
/ 24 января 2012

Я использую файлы cookie, чтобы пользователи мобильных устройств могли посещать мой сайт как пользователи настольных компьютеров.Для этого я даю им cookie - mob_yes.

Затем в модуле я использую друпал-хук, чтобы посмотреть, установлен ли cookie.

Я вижу, что cookie устанавливается, но в моем модуле (isset ($ _ COOKIE ["mob_yes"])) всегда возвращает false при использовании лака.

В / etc / varnish/default.vlc У меня есть следующее:

if (req.http.Cookie) {
set req.http.Cookie = regsuball(req.http.Cookie, ";(mob_yes)=", "; \1=");

Я действительно не уверен, что здесь происходит, но я только предполагаю, что лак не удаляет временно этот cookie?Кто-нибудь знает, что здесь происходит не так?

Спасибо,

1 Ответ

0 голосов
/ 06 апреля 2012

что вы подразумеваете под

Я вижу, что файл cookie установлен

Вы имеете в виду, что вы можете видеть его в заголовках в firebug (на стороне клиента), а затем вы видите его на стороне сервера с помощью tcpdump / varnishlog / application (на стороне сервера)?

фрагмент кода из vcl, вероятно, является частью широко используемого способа сохранения важных файлов cookie путем добавления перед ними пробела, удаления всего, что не имеет комбинации «; [пробел]», и удаления пробела в конце. Позже он используется для генерации хеша для конкретного запроса url + cookie.

Я думаю, что вам следует проверить ваш vcl, если он не удаляет куки, если пользователь не вошел в систему - это обычная практика для увеличения битрейта.

обычно в vcl для drupal это часть, которая проверяет DRUPAL_UID

...