8 June 2007

Три даблв и деревянные грабли

Website development
Если кто уже сталкивался с проблемами кукисов для хоста с www и без него, можете сэкономить хабровремя и по ссылке не

… я вот, не сталкивался раньше и, более того, не ожидал такого подвоха от огнелиса.

А проблема выглядит так: для www.host.ru и host.ru при старте сессии в том же PHP Firefox создаёт разные куки (содержащие разные session_id)

Заметил я это, когда прикручивал каптчу к форме.
Путь к картинке-скрипту содержал www в имени хоста, скрипт создавал картинку и запихивал символы в переменную сессии, но совсем не той (без www), которой далее суждено получить данные формы и проверить правильность угадывания искорёженных символов.
IE при этом исправно отрабатывал.

Решение выбрал простое — убирать www мод_реврайтом:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www.host.ru$ [NC]
RewriteRule ^(.+)$ host.ru$1 [L]


Надеюсь, что помог кому-нибудь обойти грабли.

Tags:captchawwwcookiesграблиsessionsPHP
Hubs: Website development
+4
673 8
Comments 12
Popular right now
PHP developer
to 250,000 ₽РНКБ Банк (ПАО)МоскваRemote job
PHP-разработчик
from 40,000 to 60,000 ₽Dota2.ruRemote job
PHP разработчик
to 110,000 ₽Sportmaster LabМоскваRemote job
PHP-программист
from 50,000 to 100,000 ₽СупердоставкаRemote job
Разработчик Go, PHP
from 130,000 ₽ВсеИнструменты.руRemote job