Forum Webscript.Ru
Программирование => Perl => Тема начата: GrAfF от 13 Августа 2003, 03:23:49
-
Hi!
Предположим, есть у меня index.html. Нужно через SSI вызвать скрипт и передать ему пару параметров+cookie.
Не работает. Долго тестил, кавычки дописывал, скобки. У себя запускал под Win, потом у хостера под Unix. Серваки SSI ловят, обрабатывают, но оба пишут что-то вроде (none) и undefined. Хотя куки я ставил другим скриптом, они должны быть. Потом написал проще:
То же самое. Печенья нет.
Никакие файрволлы и настройки браузера не при чем, спецскриптом куки ставятся и читаются влёгкую.
Где могут быть грабли?
-
Не понял... :confused: Зачем куку еще и передавать, если куки ставятся и читаются влёгкую скриптом.
Распечатай скриптом переменные ENV, если там есть HTTP_COOKIE, то и должно работать, к тому же у нее формат типа cookie=name; cookie2=name2; и т.д.
-
Hi!
Ничего не понимаю. ;)
Есть index.html (SSI включен на *.htm) с exec cgi="cook.cgi". Cook.cgi - универсальный скрит, который показывает, пишет и удаляет cookie. Для отладки.
Там же, в html, есть echo var="HTTP_COOKIE", которая всегда выдаёт undef.
Так вот, через cgi-bin/cook.cgi я понаставил тучу cookie, без указания экспайра и домена. Тот же скрипт через exec cgi не видит никаких cookie! Хотя один cookie удалось поставить, его exec cgi видит. Но теперь я не могу его удалить, установив снова и указав прошедший expires.
В общем, хотел скрипт голосования написать, который бы через cookie определял бы, голосовал ли юзер.
-
Куки можно и в HTML выставить....
Код покажи на всякий случай.
-
Да мне не только ставить нужно, ещё и читать правильно... :(
Да при чем тут код, если cookie не то что не передаётся, оно даже не показывается через SSI.
=====
=====
(Проверил у хостера, поэтому эту мессагу подредактировал.)
Скриптом cookie берётся из $ENV{\'HTTP_COOKIE\'}.
Да, тут cookie ставится в HTML. Но echo var эту куки в HTML не показывает. А скрит через SSI видит, запущенный в чистом виде тоже видит, не может никак удалить (ставя expires на 2000 год). Может быть потому что ставится через /index.html в корне, а скрипт в /cgi-bin/ сидит? Но он же видит куки, почему не может исправить expires?
Забавно, но cookie почему-то скриптом читается, зато query нет.
Не понятно, почему cookie не трётся.
-
GrAfF:
Есть index.html (SSI включен на *.htm)
Очепятка?
-
Очепятка. SSI включен в *.htm и *.html. Это и хотел сказать.
А бага с неубиваемым cookie работает даже в браузере Xiino под PalmOS. :)
-
А бага с неубиваемым cookie работает даже в браузере Xiino под PalmOS.
Во до чего куки человека довели :)
Дык, если у тебя даже QUERY_STRING не выводится, может с настройкой сервера проблемы... Надавно здесь же человек с Apachе-м бился - решилось переустановкой :)
-
Всё, разобрался!
Почему-то имеет значение, из какой папки ставятся куки. Корень видит свои куки, папка cgi-bin свои, но ещё и из корня. В общем, муть. ;)
Include virtual, кажется, и без параметров ("cgi-bin/devcook.cgi") передаёт свои куки. С параметрами же (cgi-bin/devcook.cgi?${QUERY_STRING}&${HTTP_COOKIE}) уходит скрипту ещё и query.
А echo var="HTTP_COOKIE" не понимает мой SHTTPS, у хостера же всё в порядке.