Hata: Set-Cookie konumu ile birleştirilmiş, CGI, yoksayılan

Makale çevirileri Makale çevirileri
Makale numarası: 176113 - Bu makalenin geçerli olduğu ürünleri görün.
Tüm kullanıcıların Microsoft ınternet ınformation Services (IIS) sürüm 7.0 yükseltmenizi öneririz Microsoft Windows Server 2008 çalışan. IIS 7.0, Web altyapı güvenliği önemli ölçüde artırır. IIS güvenliği ile ilgili konular hakkında daha fazla bilgi için aşağıdaki Microsoft Web sitesini ziyaret edin:
http://www.microsoft.com/technet/security/prodtech/IIS.mspx
IIS 7.0 hakkında daha fazla bilgi için aşağıdaki Microsoft Web sitesini ziyaret edin:
http://www.iis.net/default.aspx?tabid=1
Hepsini aç | Hepsini kapa

Bu Sayfada

Belirtiler

ınternet ınformation Server (IIS), bir CGI uygulaması bir set-Cookie üstbilgisi "302 nesne Moved" yanıtını ve konum üstbilgisi gönderdiğinde, tanımlama bilgisi üstbilgisi yok sayar.

Çözüm

Bu davranış bulunduğu ihlali CGI belirtimi, hangi durumları, "sunucu yönergeleri olmayan tüm üstbilgileri doğrudan istemciye gönderilir. Şimdilik, bu belirtimi üç sunucu yönergeleri... tanımlayan"

Geçici bir çözüm olarak, the EXE dosyası adı "nph-" ile başlayan tüm HTTP üstbilgileri, programda el ile oluşturma emin olun. "nph-" sunucuya gösterir CGI programı olmayan ayrıştırıldı üstbilgi modunda çalıştırmak üzere olduğunu. CGI iki modu vardır. Normal modda (çözümlenmi? üstbilgileri), bir CGI yönergeleri standart çıktıya (içerik türü, konum veya durum) göndermelidir. CGI gönderdiğiniz yönergesini alarak, geçerli HTTP yanıt satırı biçimlendirir. Diğer standart HTTP üstbilgileri için biçimler ve belirttiğiniz diğer tüm üstbilgiler eklemeniz gerekir.

Diğer olmayan ayrıştırıldı üstbilgi modu modudur. Bu modda CGI tüm üstbilgileri kendisini ayarlamaz. CGI programı yanıt satırı ve tüm üstbilgileri içeren tam bir HTTP yanıtı biçimlendirmeniz gerekir. Sunucu değil eklemek veya bu modda, tüm üstbilgileri değiştirin.

Adı "nph-" ile başlayan bir CGI programı olmayan ayrıştırıldı üstbilgi modunda çalıştırıldığını kuralıdır; aksi halde, CGI programları çözümlenmi? üstbilgi modunda çalışır.

Durum

Microsoft bu hatanın bu makalenin başında listelenen Microsoft ürünlerinde bulunduğunu onaylamıştır.

Daha fazla bilgi

Davranışı yeniden oluşturma adımları

Bu bir CGI programı gibi bir Win32 Console Application derleme ve burada yürütülebilecek bir klasörde IIS sunucunuzdaki yerleştirin:
#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;
}
				

CGI programı tarayıcınızdan arayın ve (Ağ izleyicisi, örneğin) aracılığıyla çıkışını inceleyin. Buna benzer olacaktır:
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>
				

Not IIS tarafından set-Cookie üstbilgi gönderilmedi. Tanımlama bilgisi uyarıları tarayıcınızda açık varsa, herhangi bir uyarı görüntülenir.

Tanımlama bilgisi 302 bir yanıt olarak ayarlanmasına izin vermek için <a0></a0>, benzer şekilde, yürütülebilir dosyanın adı "nph-" önekini ve aşağıdaki kodu kullanın:
#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;
}
				

Çıktı, aşağıdakine benzer. Tanımlama bilgisi şimdi gönderilir ve üst bilgi sunucu tarafından eklenen unutmayın.
HTTP/1.0 302 Redirect
Location: http://www.yahoo.com
Set-Cookie: Name=Value; path=/; expires=Fri, 22 May 1998 21:00:00 GMT
				

Referanslar

(c) 1997 Microsoft Corporation, tüm hakları saklıdır. Katkıyı'nın geliştirdiği Braginski, Microsoft Corporation

Özellikler

Makale numarası: 176113 - Last Review: 3 Temmuz 2008 Perşembe - Gözden geçirme: 5.0
Bu makaledeki bilginin uygulandığı durum:
  • Microsoft Internet Information Server 3.0
  • Microsoft Internet Information Server 4.0
  • Microsoft Internet Information Services 5.0
Anahtar Kelimeler: 
kbmt kbbug kbnofix KB176113 KbMttr
Machine-translated Article
ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Makalenin İngilizcesi aşağıdaki gibidir:176113

Geri Bildirim Ver

 

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