Bagikan melalui


Menambahkan Ekstensi <Nama File>

Gambaran Umum

Elemen <add><fileExtensions> koleksi menentukan ekstensi nama file unik untuk ditambahkan ke kumpulan ekstensi nama file untuk Internet Information Services (IIS) 7.

Catatan

Ketika pemfilteran permintaan memblokir permintaan HTTP karena ekstensi nama file yang ditolak, IIS 7 akan mengembalikan kesalahan HTTP 404 ke klien dan mencatat status HTTP berikut dengan substatus unik yang mengidentifikasi alasan permintaan ditolak:

HTTP Substatus Deskripsi
404.7 Ekstensi File Ditolak

Substatus ini memungkinkan administrator Web menganalisis log IIS mereka dan mengidentifikasi potensi ancaman.

Kompatibilitas

Versi Catatan
IIS 10.0 Elemen <add> tidak dimodifikasi dalam IIS 10.0.
IIS 8.5 Elemen <add> tidak dimodifikasi dalam IIS 8.5.
IIS 8.0 Elemen <add> tidak dimodifikasi dalam IIS 8.0.
IIS 7.5 Elemen <add> tidak dimodifikasi dalam IIS 7.5.
IIS 7.0 Elemen <add><fileExtensions> koleksi diperkenalkan di IIS 7.0.
IIS 6.0 Elemen ini <fileExtensions> menggantikan fitur IIS 6.0 UrlScan [AllowExtensions] dan [DenyExtensions] .

Siapkan

Penginstalan default IIS 7 dan yang lebih baru mencakup layanan atau fitur peran Pemfilteran Permintaan. Jika layanan atau fitur peran Pemfilteran Permintaan dihapus instalasinya, Anda dapat menginstalnya kembali menggunakan langkah-langkah berikut.

Windows Server 2012 atau Windows Server 2012 R2

  1. Pada taskbar, klik Manajer Server.
  2. Di Manajer Server, klik menu Kelola , lalu klik Tambahkan Peran dan Fitur.
  3. Di wizard Tambahkan Peran dan Fitur , klik Berikutnya. Pilih jenis penginstalan dan klik Berikutnya. Pilih server tujuan dan klik Berikutnya.
  4. Pada halaman Peran Server , perluas Server Web (IIS), perluas Server Web, perluas Keamanan, lalu pilih Pemfilteran Permintaan. Klik Berikutnya.
    Cuplikan layar yang memperlihatkan Pemfilteran Permintaan dipilih untuk Windows Server 2012. .
  5. Pada halaman Pilih fitur, klik Berikutnya.
  6. Pada halaman Konfirmasi pilihan instalasi, klik Instal.
  7. Pada halaman Hasil , klik Tutup.

Windows 8 atau Windows 8.1

  1. Pada layar Mulai, pindahkan penunjuk ke sudut kiri bawah, klik kanan tombol Mulai, lalu klik Panel Kontrol.
  2. Di Panel Kontrol, klik Program dan Fitur, lalu klik Aktifkan atau nonaktifkan fitur Windows.
  3. Perluas Layanan Informasi Internet, perluas Layanan Web Seluruh Dunia, perluas Keamanan, lalu pilih Pemfilteran Permintaan.
    Cuplikan layar yang memperlihatkan Pemfilteran Permintaan dipilih untuk Windows 8.
  4. Klik OK.
  5. Klik Tutup.

Windows Server 2008 atau Windows Server 2008 R2

  1. Pada taskbar, klik Mulai, arahkan ke Alat Administratif, lalu klik Manajer Server.
  2. Di panel hierarki Manajer Server , perluas Peran, lalu klik Server Web (IIS).
  3. Di panel Server Web (IIS), gulir ke bagian Layanan Peran , lalu klik Tambahkan Layanan Peran.
  4. Pada halaman Pilih Layanan Peran dari Wizard Tambahkan Layanan Peran, pilih Pemfilteran Permintaan, lalu klik Berikutnya.
    Cuplikan layar yang memperlihatkan Pemfilteran Permintaan dipilih untuk Windows Server 2008.
  5. Pada halaman Konfirmasi Pilihan Penginstalan , klik Instal.
  6. Pada halaman Hasil , klik Tutup.

Windows Vista atau Windows 7

  1. Pada taskbar, klik Mulai, lalu klik Panel Kontrol.
  2. Di Panel Kontrol, klik Program dan Fitur, lalu klik Aktifkan atau nonaktifkan Fitur Windows.
  3. Perluas Layanan Informasi Internet, lalu World Wide Web Services, lalu Keamanan.
  4. Pilih Minta Pemfilteran, lalu klik OK.
    Cuplikan layar yang memperlihatkan Pemfilteran Permintaan dipilih untuk Windows Vista atau Windows 7.

Bagaimana Caranya

Catatan untuk pengguna IIS 7.0: Beberapa langkah di bagian ini mungkin mengharuskan Anda menginstal Paket Administrasi Microsoft untuk IIS 7.0, yang mencakup antarmuka pengguna untuk pemfilteran permintaan. Untuk menginstal Paket Administrasi Microsoft untuk IIS 7.0, silakan lihat URL berikut:

Cara menolak akses ke ekstensi nama file tertentu

  1. Buka Pengelola Layanan Informasi Internet (IIS):

    • Jika Anda menggunakan Windows Server 2012 atau Windows Server 2012 R2:

      • Pada bilah tugas, klik Manajer Server, klik Alat, lalu klik Pengelola Layanan Informasi Internet (IIS).
    • Jika Anda menggunakan Windows 8 atau Windows 8.1:

      • Tahan tombol Windows, tekan huruf X, lalu klik Panel Kontrol.
      • Klik Alat Administratif, lalu klik dua kali Manajer Layanan Informasi Internet (IIS).
    • Jika Anda menggunakan Windows Server 2008 atau Windows Server 2008 R2:

      • Pada bilah tugas, klik Mulai, arahkan ke Alat Administratif, lalu klik Pengelola Layanan Informasi Internet (IIS).
    • Jika Anda menggunakan Windows Vista atau Windows 7:

      • Pada taskbar, klik Mulai, lalu klik Panel Kontrol.
      • Klik dua kali Alat Administratif, lalu klik dua kali Manajer Layanan Informasi Internet (IIS).
  2. Di panel Koneksi , buka koneksi, situs, aplikasi, atau direktori yang ingin Anda ubah pengaturan pemfilteran permintaannya.

  3. Di panel Beranda , klik dua kali Pemfilteran Permintaan.
    Cuplikan layar yang memperlihatkan panel Beranda Situs Web Default, dengan Pemfilteran Permintaan dipilih.

  4. Di panel Pemfilteran Permintaan , klik tab Ekstensi Nama File , lalu klik Tolak Ekstensi Nama File... di panel Tindakan .
    Cuplikan layar yang memperlihatkan Pemfilteran Permintaan dipilih.

  5. Dalam kotak dialog Tolak Ekstensi Nama File , masukkan ekstensi nama file yang ingin Anda blokir, lalu klik OK.
    Cuplikan layar yang memperlihatkan kotak dialog Tolak Ekstensi Nama File. Misalnya, untuk mencegah akses ke file dengan ekstensi nama file .inc, Anda akan memasukkan "inc" dalam kotak dialog.

Konfigurasi

Atribut

Atribut Deskripsi
allowed Atribut Boolean yang diperlukan.

Menentukan apakah ekstensi nama file diizinkan atau ditolak. Mengatur atribut ini ke true memungkinkan server Web memproses permintaan yang terkait dengan file jenis ini; mengatur atribut ini ke false mencegah server Web memproses permintaan.

Nilai defaultnya adalah true.
fileExtension Atribut string yang diperlukan.

Menentukan nama ekstensi nama file yang akan diizinkan atau ditolak.

Elemen Anak

Tidak ada.

Sampel Konfigurasi

Contoh file Web.config berikut akan mengonfigurasi dua opsi. Ini akan mengonfigurasi pemfilteran permintaan untuk memungkinkan akses WebDAV ke semua ekstensi nama file, dan akan mengonfigurasi IIS untuk menolak akses ke file dengan ekstensi nama file .inc, yang kadang-kadang digunakan sebagai file sertakan untuk aplikasi.

<configuration>
   <system.webServer>
      <security>
         <requestFiltering>
            <fileExtensions applyToWebDAV="false">
               <add fileExtension=".inc" allowed="false" />
            </fileExtensions>
         </requestFiltering>
      </security>
   </system.webServer>
</configuration>

Kode Sampel

Sampel kode berikut akan menambahkan entri ke daftar ekstensi nama file untuk Situs Web Default yang akan menolak akses ke semua file dengan ekstensi .inc, yang kadang-kadang digunakan sebagai file yang disertakan untuk aplikasi, dan mereka akan mengonfigurasi pemfilteran permintaan untuk memungkinkan akses WebDAV ke segmen tersembunyi.

Catatan

Untuk menggunakan sampel yang sama untuk mengizinkan akses, Anda akan mengatur nilai atribut yang diizinkan ke true alih-alih false di masing-masing contoh ini.

AppCmd.exe

appcmd.exe set config "Default Web Site" -section:system.webServer/security/requestFiltering /fileExtensions.applyToWebDAV:"False"

appcmd.exe set config "Default Web Site" -section:system.webServer/security/requestFiltering /+"fileExtensions.[fileExtension='inc',allowed='False']"

PowerShell

Start-IISCommitDelay

$fileExtensions = Get-IISConfigSection -CommitPath 'Default Web Site' -SectionPath 'system.webServer/security/requestFiltering' | Get-IISConfigCollection -CollectionName 'fileExtensions'

New-IISConfigCollectionElement -ConfigCollection $fileExtensions -ConfigAttribute @{ 'fileExtension' = '.inc'; 'allowed' = $false } -AddAt 0

Set-IISConfigAttributeValue -ConfigElement $fileExtensions -AttributeName 'applyToWebDAV' -AttributeValue $false

Stop-IISCommitDelay

C#

using System;
using System.Text;
using Microsoft.Web.Administration;

internal static class Sample
{
   private static void Main()
   {
      using (ServerManager serverManager = new ServerManager())
      {
         Configuration config = serverManager.GetWebConfiguration("Default Web Site");
         ConfigurationSection requestFilteringSection = config.GetSection("system.webServer/security/requestFiltering");

         ConfigurationElement fileExtensionsElement = requestFilteringSection.GetChildElement("fileExtensions");
         fileExtensionsElement["applyToWebDAV"] = false;
         ConfigurationElementCollection fileExtensionsCollection = fileExtensionsElement.GetCollection();

         ConfigurationElement addElement = fileExtensionsCollection.CreateElement("add");
         addElement["fileExtension"] = @"inc";
         addElement["allowed"] = false;
         fileExtensionsCollection.Add(addElement);

         serverManager.CommitChanges();
      }
   }
}

VB.NET

Imports System
Imports System.Text
Imports Microsoft.Web.Administration

Module Sample

   Sub Main()
      Dim serverManager As ServerManager = New ServerManager
      Dim config As Configuration = serverManager.GetWebConfiguration("Default Web Site")
      Dim requestFilteringSection As ConfigurationSection = config.GetSection("system.webServer/security/requestFiltering")

      Dim fileExtensionsElement As ConfigurationElement = requestFilteringSection.GetChildElement("fileExtensions")
      fileExtensionsElement("applyToWebDAV") = False
      Dim fileExtensionsCollection As ConfigurationElementCollection = fileExtensionsElement.GetCollection

      Dim addElement As ConfigurationElement = fileExtensionsCollection.CreateElement("add")
      addElement("fileExtension") = "inc"
      addElement("allowed") = False
      fileExtensionsCollection.Add(addElement)

      serverManager.CommitChanges()
   End Sub

End Module

JavaScript

var adminManager = new ActiveXObject('Microsoft.ApplicationHost.WritableAdminManager');
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST/Default Web Site";
var requestFilteringSection = adminManager.GetAdminSection("system.webServer/security/requestFiltering", "MACHINE/WEBROOT/APPHOST/Default Web Site");

var fileExtensionsElement = requestFilteringSection.ChildElements.Item("fileExtensions");
fileExtensionsElement.Properties.Item("applyToWebDAV").Value = false;
var fileExtensionsCollection = fileExtensionsElement.Collection;

var addElement = fileExtensionsCollection.CreateNewElement("add");
addElement.Properties.Item("fileExtension").Value = "inc";
addElement.Properties.Item("allowed").Value = false;
fileExtensionsCollection.AddElement(addElement);

adminManager.CommitChanges();

Vbscript

Set adminManager = WScript.CreateObject("Microsoft.ApplicationHost.WritableAdminManager")
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST/Default Web Site"
Set requestFilteringSection = adminManager.GetAdminSection("system.webServer/security/requestFiltering", "MACHINE/WEBROOT/APPHOST/Default Web Site")

Set fileExtensionsElement = requestFilteringSection.ChildElements.Item("fileExtensions")
fileExtensionsElement.Properties.Item("applyToWebDAV").Value = False
Set fileExtensionsCollection = fileExtensionsElement.Collection

Set addElement = fileExtensionsCollection.CreateNewElement("add")
addElement.Properties.Item("fileExtension").Value = "inc"
addElement.Properties.Item("allowed").Value = False
fileExtensionsCollection.AddElement(addElement)

adminManager.CommitChanges()