Se-Cookie и Apache

Вопросы о том как и что сделать чтобы работало
Правила форума
1. Один вопрос - одна тема. Не надо задавать в той же теме другие вопросы.
2. Не пишите в чужих темах, если ваша проблема не имеет отношения к обсуждаемой.
3. Давайте полное описание проблемы - имя сайта, имя сервера, учётная запись, способ воспроизведения, скриншот ошибки.
4. Пароли выкладывать в форум - НЕ НАДО
Сергей

Se-Cookie и Apache

Сообщение Сергей » 2018-03-13, 20:39:22

Вопрос по перл-скриптам. Мне нужно вывести вот такой перл-файл
с содержимым:

Код: Выделить всё

#!/usr/bin/perl -w 
# -------------------------------------------------- 
# СЧЁТЧИК ЛИЧНЫХ ПОСЕЩЕНИЙ ЧЕРЕЗ КУКИ 
# -------------------------------------------------- 
use CGI::Carp qw(fatalsToBrowser); # выводим все сообщения об ошибках 
в окно браузера 
use CGI qw( :standard); # подключаем модуль для обработки данных формы 

my $id_count; 
if (!cookie('id_count')) 
{ 
$id_count=0; 
} 
else 
{ 
$id_count=cookie('id_count'); 
} 
$id_count++; 
my $cookies=cookie(-name=>'id_count', -value=>$id_count, 
-expires=>'+360d', -path=>'/', -domain=>'.mc-tonus.ru'); 

print "Set-Cookie: $cookies\n"; 
print "Content-type: text/html\n\n"; 

print "<HTML>\n<HEAD>\n<TITLE>test</TITLE>\n"; 
print "<META HTTP-EQUIV='Content-Type' CONTENT='text/html; 
charset=UTF-8'></HEAD>\n<BODY>\n"; 

print "<BR>Вы посетили ресурс: $id_count раз"; 

print "</BODY>\n</HTML>\n"; 

Из книги пример взял.
Так ваш сервер (Апач?) почему то игнорирует строку

Код: Выделить всё

print "Content-type: text/html\n\n"; 
и без неё работает отлично. Я в своих скриптах везде её закомментировал.
Теперь же нужно ДО неё дать команду print "Set-Cookie: $cookies\n";

Как мне это сделать? Как крутить настройки Апача?

Спасибо.

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги нашей хостинговой компании

Хостинг HostFood.ru

Тарифы на хостинг, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM), от 189 рублей: https://www.host-food.ru/tariffs/virtualny-server-vps/
Тарифы на выделенные сервера (Dedicated Server), от 1560 рублей: https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах, от 110 рублей: https://www.host-food.ru/domains/
Часто задаваемые вопросы по хостингу: https://www.host-food.ru/faq/
Вопросы по доменам: https://www.host-food.ru/faq/domains.questions/

Сергей Седов

Se-Cookie и Apache

Сообщение Сергей Седов » 2018-03-13, 20:39:22

Предполагаю что дело в том, что до apache стоит кеширующий прокси-сервер nginx. И часть заголовков он уже формирует самостоятельно.
Попробуйте обратиться к вашему скрипту указав порт 8080 (http://vash-sait.ru:8080). Это будет прямой запрос на apache.

Сергей

Se-Cookie и Apache

Сообщение Сергей » 2018-03-13, 20:39:22

Сергей, вот адрес тестового скрипта.
mc-tonus.ru/cgi-bin/2011-3.pl:8080
Вбил порт, теперь 404 выскакивает ...

Сергей Седов

Se-Cookie и Apache

Сообщение Сергей Седов » 2018-03-13, 20:39:22

Ошибка в адресе, нужно так:
http://mc-tonus.ru:8080/cgi-bin/2011-3.pl

Сергей

Se-Cookie и Apache

Сообщение Сергей » 2018-03-13, 20:39:22

Понял.
Но и так тоже не работает ...

Может какой настроечный файл Апача подкрутить?
Какую команду отключить? Чтоб он отсебятину не лепил и самостоятельно print "Content-type: text/html\n\n"; не слал?

Сергей Седов

Se-Cookie и Apache

Сообщение Сергей Седов » 2018-03-13, 20:39:22

Как понимаю у Вас в принципе не отрабатывает Perl. Сейчас вывод формируется обработчиком PHP, т.к. идет только увеличение id_count и отработка команд print.

Сергей Седов

Se-Cookie и Apache

Сообщение Сергей Седов » 2018-03-13, 20:39:22

Попробуйте добавить это в htaccess

Код: Выделить всё

Options +ExecCGI
AddHandler cgi-script .pl

Сергей Седов

Se-Cookie и Apache

Сообщение Сергей Седов » 2018-03-13, 20:39:22

Хотя по поводу не работы perl наверное не верно я сказал. Он работает, но видимо вывод заголовков формируется не так как Вы хотите и поэтому куки не выставляются.

Сергей Седов

Se-Cookie и Apache

Сообщение Сергей Седов » 2018-03-13, 20:39:22

В скрипте была ошибка.
Поправил - http://mc-tonus.ru:8080/cgi-bin/2011-3.pl
Пробуйте сейчас и смотрите что изменилось в скрипте.
Добавлять в htaccess не нужно ничего.

Сергей Седов

Se-Cookie и Apache

Сообщение Сергей Седов » 2018-03-13, 20:39:22

Источник информации - http://perldoc.perl.org/CGI/Cookie.html

Сергей

Se-Cookie и Apache

Сообщение Сергей » 2018-03-13, 20:39:22

Сергей, спасибо большое!

Только теперь ЮТФ-8 не понимает. Будем крутить дальше.

Видать при обращении к хеадеру, что не упоминается, то выставляется по умолчанию. А там видать умолчания не ЮТФ-8.

Спасибо.