Chyba: Súbor Cookie je ignorované v CGI, keď sú kombinované s umiestnením

Preklady článku Preklady článku
ID článku: 176113 - Zobraziť produkty, ktorých sa tento článok týka.
Dôrazne odporúčame všetkým užívateľom upgradovať na Microsoft Internet Information Services (IIS) verzie 7.0 beží na Microsoft Windows Server 2008. IIS 7.0 výrazne zvyšuje Web infraštruktúru zabezpečenia. Ďalšie informácie o témach zabezpečenia IIS nájdete na webovej lokalite Microsoft:
http://www.Microsoft.com/technet/security/prodtech/IIS.mspx
Ďalšie informácie o súčasti IIS 7.0 nájdete na webovej lokalite Microsoft:
http://www.IIS.net/default.aspx?TabID=1
Rozbaliť všetko | Zbaliť všetko

Na tejto stránke

PRIZNAKY

Keď aplikáciu CGI pošle súbor Cookie hlavičku s "302 objekt Přesunuto" reakcie a umiestnenie hlavičky, Internet Information Server (IIS) ignoruje Hlavička súboru cookie.

RIESENIE

Toto správanie je v rozpore s CGI špecifikácii, ktorý uvádza, "všetky hlavičky, ktoré nie sú servera smerníc sa odošlú priamo späť klient. V súčasnosti táto špecifikácia definuje tri servera smernice..."

Ako riešenie, uistite sa, že názov súboru EXE začína "nph-" a Manuálne vytvoriť všetky hlavičky HTTP v programe. "nph-" označuje na Server, ktorý je CGI program spustiť v režime-analyzovaný hlavičky. CGI má dva režimy. V normálnom režime (parsed hlavičky), musíte odoslať jednu z CGI smerníc do štandardného výstupu (typ obsahu, umiestnenie alebo stav). CGI formáty platné riadok odpoveď HTTP na základe smernice ste odoslali. To formáty iné štandardné hlavičky HTTP pre vás, a to by malo zahŕňať akékoľvek iné hlavičky, ktoré ste zadali.

Ostatné režim je-analyzovaný hlavičky režim. V tomto režime CGI nestanovuje žiadne hlavičky sama. CGI program formátovať úplnú odpoveď HTTP vrátane riadok odpoveď a všetky hlavičky. Server nebude pridať alebo upraviť hlavičky pre vás v tomto režime.

Dohovor je, že je spustiť CGI program, ktorých meno začína „nph ” v-analyzovaný hlavičky režime; v opačnom prípade sa spúšťajú CGI programy v parsed hlavičky režim.

STAV

Spoločnosť Microsoft potvrdila, to je chyba v produktov spoločnosti Microsoft uvedených na začiatku tohto článku.

DALSIE INFORMACIE

Kroky na reprodukovanie správanie

Zostavuje tento CGI program ako aplikácia konzoly Win32 a umiestniť ho v priečinok na serveri IIS, kde môžu byť vykonané:
#include <stdio.h>
int main()
{
  printf("Location: %s\r\n", "http://www.yahoo.com");
  printf("Set-Cookie: Name1=Value1; path=/;
    expires=Fri, 22 May 1998 21:00:00 GMT\r\n\r\n");
  return 0;
}
				

Zavolajte CGI program z vášho prehliadača a pozorovať jeho výstup (cez sieť Monitoruje, napríklad). To bude podobnú tejto:
HTTP/1.0 302 Object moved
Location: http://www.yahoo.com
Server: Microsoft-IIS/2.0
Content-Type: text/html
Content-Length: 145

<head><title>Document moved</title></head>
<body><h1>Object Moved</h1>This document may be found
<a HREF="http://www.yahoo.com">here</a></body>
				

Všimnite si, že súbor Cookie hlavičku nebola odoslaná službou IIS. Ak máte cookie upozornenia zapnutá vo vašom prehliadači, žiadne upozornenie sa zobrazí.

Povoliť cookie stanovené v 302 odozvy, použite podobný kód do týchto a predponu "nph-" na názov spustiteľného súboru:
#include <stdio.h>
int main()
{
  printf("HTTP/1.0 302 Redirect\r\n");
  printf("Location: %s\r\n", "http://www.yahoo.com");
  printf("Set-Cookie: Name=Value; path=/; expires=Fri, 22 May 1998 21:00:00
   GMT\r\n\r\n");
  return 0;
}
				

Výstup sa podobá nasledovnému. Všimnite si, že teraz sa posiela cookie, a hlavičky nedoplnia server.
HTTP/1.0 302 Redirect
Location: http://www.yahoo.com
Set-Cookie: Name=Value; path=/; expires=Fri, 22 May 1998 21:00:00 GMT
				

ODKAZY

(c) Microsoft Corporation 1997, všetky práva vyhradené. Príspevky Leon Braginski, Microsoft Corporation

Vlastnosti

ID článku: 176113 - Posledná kontrola: 18. októbra 2011 - Revízia: 2.0
Informácie v tomto článku sa týkajú nasledujúcich produktov:
  • Microsoft Internet Information Server 3.0
  • Microsoft Internet Information Services 5.0
Kľúčové slová: 
kbbug kbnofix kbmt KB176113 KbMtsk
Strojovo preložené
DÔLEŽITÉ: Tento článok bol preložený pomocou softvéru na strojový preklad od spoločnosti Microsoft, nie prekladateľom. Spoločnosť Microsoft ponúka články preložené prekladateľmi aj strojovo preložené články, vďaka čomu máte možnosť prístupu ku všetkým článkom databázy Knowledge Base vo svojom jazyku. Strojovo preložený článok však nie je vždy perfektný. Môže obsahovať chyby týkajúce sa slovnej zásoby, syntaxe alebo gramatiky, podobne ako cudzinec môže robiť chyby, keď rozpráva vašim jazykom. Spoločnosť Microsoft nenesie zodpovednosť za akékoľvek nepresnosti, chyby alebo škody spôsobené akýmkoľvek nepresným prekladom obsahu alebo jeho použitím zo strany zákazníkov. Spoločnosť Microsoft softvér na strojový preklad pravidelne aktualizuje.
Pokiaľ chcete vidieť anglickú verziu článku, kliknite sem:176113

Odošlite odozvu

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com