ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Set-Cookie несовместим с HTTP/1.0 401 Un authorized?


  • To: nginx-ru@xxxxxxxxx
  • Subject: Set-Cookie несовместим с HTTP/1.0 401 Un authorized?
  • From: Dmitry Koterov <dmitry@xxxxxxxxxx>
  • Date: Sat, 24 Oct 2009 20:44:18 +0400
  • Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:sender:reply-to:received:date :x-google-sender-auth:message-id:subject:from:to:content-type; bh=gNx4zlYW+05+VbA5jeBT+8yS6pCHhDeFwoOIHabraAo=; b=sfuQ3uoFs1cYsxXFbRu1rMLYDLpzqLkC1epJR9dFArE2LYD7wYGBeovw+BjkEucHxf 7dKITQwFzBihXahynwqHNCo7Hrw45xh8F/zrkdolumzSJsjZas34gOJlx1117kz3MU4i xvz1AtYfSvsQv/CU0D6S2YGEJzP6nl72luQE8=
  • Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:sender:reply-to:date:x-google-sender-auth:message-id :subject:from:to:content-type; b=eki3ghtptknvxceVJKWCQrgd310dqyEyNag4kOgSkXqxkeOV4jZKOv69moO27Vl9zF CJ4IpL9Fq45y8PitaryQgLbYx3M2YKGHEaKqKLGzn9C+RvSfLmDK9Ieb6hrzhnjBc3b4 ssbWPbHa3yMxWSPlcaOTKLTUYzntEgWmPCcKY=

Наблюдаю странный эффект (php + FastCGI). Вот такой код:

setcookie('test', 'test', time() + 3600, '/');
header('HTTP/1.0 401 Unauthorized');
header('WWW-Authenticate: Basic realm="Authorization required"');
$f = fopen('/tmp/aaa', 'w'); fwrite($f, print_r(headers_list(), 1)); fclose($f);
exit();

В браузер не приходит заголовок Set-Cookie. Однако, стоит закомментировать вывод заголовков "Unauthorized" и "WWW-Authenticate", как кука начинает выдаваться. Сам PHP исправно выдает все 3 заголовка (это видно в файле /tmp/aaa).

Сталкивался ли кто-нибудь с таким эффектом? Похоже, nginx блокирует заголовок Set-Cookie, если видит либо WWW-Authenticate, либо 401 (даже по отдельности).

 




Copyright © Lexa Software, 1996-2009.