Güvenlik düzeltme ekleri yeniden uyguladıktan SSI çıktı kayboluyor.

Makale çevirileri Makale çevirileri
Makale numarası: 318176 - Bu makalenin geçerli olduğu ürünleri görün.
Bu makale arşivlenmiştir. "Olduğu gibi" sunulmaktadır ve bundan sonra güncelleştirilmeyecektir.
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

Kullanarak sunucu-tarafı ekleme (SSI) bir program çalıştırdığınızda <!--# exec cgi--> ya da Microsoft Windows NT 4.0 Service Pack 4 (SP4) veya sonraki bir sürümü çalıştıran bir sunucuda komut uygulanan veya Microsoft Windows 2000 Service Pack 2 (SP2) veya daha sonra uygulanan, program çıkışını sayfada görünmüyor. Düzeltme eki yüklenmemiş bir sunucuda aynı programı çalıştırırsanız, çıktı, beklendiği gibi görünür.

Neden

Bu belirtilen hizmet paketleri uygulandıktan sonra ınternet ınformation Services (IIS) hizmet (SRV) kullanılarak çalıştırılan herhangi bir SSI program umuyor <!--# exec cgi--> Ortak Ağ Geçidi Arabirimi (CGI) belirtimi izlemek için kullanılan komut. Bu belirtim, herhangi bir çıktı önce bir içerik türü HTTP üstbilgisi yazdırmak için CGI programları gerektirir. IIS, sessizce Bu üstbilgiyi yoksayar ve sayfada görüntüleyen son program çıkış kaldırır. SSI program, bu başlığı içermiyorsa, IIS program çalışır, ancak çıktısı görüntülemez. Bu, önceki sürümleri Windows'un bu üstbilgileri gerektirmez ve çıkışı diğer SSI programdan önce sayfada bulunan tüm HTTP üstbilgileri görüntülendiği davranışını farklıdır.

Çözüm

Çıktı iki yoldan biriyle görünür yapabilirsiniz:
  1. Kullanarak program yürütmesine <!--# exec cmd-->yerine komut <!--# exec cgi--> komutu. -VEYA-

  2. Iki yeni satır, diğer herhangi bir çıktı önce ardından aşağıdaki satırı yazdırmak için bu programı yeniden yazan:
    Içerik türü: metin/html

Durum

Bu davranış tasarım yüzündendir.

Daha fazla bilgi

Ssı'lar etkinleştirmek için şu adımları izleyin:
  1. IIS ek bileşenini Microsoft Yönetim Konsolu'nu (MMC) için yükleyen ınternet Service Manager'nı (ISM) başlatın.
  2. MMC'DE, sol bölmede bilgisayarınızın adını çift tıklatın.
  3. SSı'nı etkinleştirmek istediğiniz Web sitesini çift tıklatın.
  4. SSI etkin dosyalarınızı içeren sanal dizini sağ tıklatın. SSI, bir Web sitesinin giriş dizinini etkinleştirmek için <a0></a0>, Web sitesini sağ tıklatın.
  5. Özellikler ' i tıklatın ve sonra Giriş dizini</a0> sekmesini tıklatın.
  6. Yürütme izinleri altında kodlar ve Yürütülebilirler'i seçmek için tıklatın.
  7. Tamam ' ı tıklatın. Devralmada Geçersiz Kılınanlar ekranında SSI etkin dosyaları içeren tüm dizinleri seçmek emin olun.Nasıl etkinleştirileceği hakkında ek bilgi için <!--# exec cmd komutu-->, Microsoft Knowledge Base'deki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
    233969Varsayılan olarak Ssıenablecmddirective için YANLıŞ ayarlanmış

Davranışı Yeniden Oluşturma Adımları

  1. Etkinleştirmek için varsayılan Web sitenizin giriş dizininin sunucu tarafı eklemeleri.
  2. Düzeltme eki yüklenmemiş Windows NT 4.0 veya Windows 2000 sunucusunda aşağıdaki C program derleme:
    #include <stdio.h>
    int main(int argc, char **argv) {
      printf("Hello World\n");
    
    }
  3. Helloworld.exe çalıştırılabilir dosyanın adını ve sonra da dosya Web sunucunuzun kök dizininde yerleştirin. Varsayılan olarak, bu, c:\ınetpub\wwwroot dizinidir.
  4. Aşağıdaki SSI özelliği etkinleştirilmiş bir HTML sayfasını oluşturun ve sonra sayfayı Web sunucunuzun kök dizininde Ssitest.shtm kaydedin:
    <HTML><BODY>
    Exec cmd: <!--#exec cmd="c:\inetpub\wwwroot\HelloWorld.exe"--><BR>
    Exec cgi: <!--#exec cgi="/HelloWorld.exe"-->
    </BODY></HTML>
  5. Windows NT 4.0 Service Pack 3 (SP3) çalıştıran bir bilgisayarda http://localhost/ssitest.shtm bulun veya önceki sürümünü veya Windows 2000 Service Pack 1 (SP1) veya önceki sürümleri. Aşağıdakilere bakın:
    Exec cmd: Hello World
    Exec cgi: Hello World
  6. Windows NT 4.0 SP4 uygulamak veya daha yenisi ya da Windows 2000 SP2 veya sonraki bir sürümü bilgisayarda.
  7. Yeniden http://localhost/ssitest.shtm için göz atın. Şimdi aşağıdaki gördüğünüz:
    Exec cmd: Hello World
    Exec cgi:
  8. Önce bir içerik türü üstbilgisini yazdırmaya Helloworld.exe kodunu değiştirin ve sonra dosyayı yeniden:
    #include <stdio.h>
    int main(int argc, char **argv) {
      printf("Content-type: text/html\n");
      printf("Hello World\n");
    
    }
  9. Http://localhost/ssitest.shtm Windows NT 4.0 SP4 çalıştıran bir bilgisayara yeniden yükleyin veya daha yenisi ya da Windows 2000 SP2 veya sonraki sürümü. Şimdi aşağıdaki gördüğünüz:
    Exec cmd: Content-type: text/html
     Hello World
    Exec cgi: Hello World
    , Not <!--# exec cgi--> komut, <!--# exec cmd--> komut çıktısı tüm CGI üstbilgileri kaldırmaz.

Referanslar

Ssı'lar hakkında daha fazla bilgi için IIS çevrimiçi belgelerinde ""Sunucu tarafı içermeler"konusuna bakın. Bu konuyu görüntülemek için <a0></a0>, Yönetim bulun, sonra da Web sitesi yönetimi ' ni bulun ve Sunucu tarafında bulunanlar ' ı bulun. IIS çevrimiçi belgelerine IIS belgelerine yüklü herhangi bir bilgisayardan aşağıdaki URL erişilebilir:
http://localhost/iishelp

Özellikler

Makale numarası: 318176 - Last Review: 4 Şubat 2014 Salı - Gözden geçirme: 3.1
Bu makaledeki bilginin uygulandığı durum:
  • Microsoft Internet Information Services 5.0
  • Microsoft Internet Information Server 4.0
Anahtar Kelimeler: 
kbnosurvey kbarchive kbmt kbpending kbprb KB318176 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:318176

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