Bagikan melalui


Permintaan Pemfilteran <PermintaanFilter>

Gambaran Umum

Pemfilteran Permintaan adalah fitur keamanan bawaan yang diperkenalkan di Internet Information Services (IIS) 7.0, dan menggantikan banyak fungsionalitas yang tersedia melalui add-on UrlScan untuk IIS 6.0. Semua pengaturan untuk fitur pemfilteran permintaan terletak di dalam <requestFiltering> elemen , yang berisi beberapa elemen anak untuk setiap area fitur berikut:

  • <denyUrlSequences> - Elemen ini dapat berisi kumpulan pola urutan URL yang akan ditolak IIS 7; misalnya: Anda dapat menolak bagian urutan URL yang mungkin coba dieksploitasi oleh penyerang.
  • <fileExtensions> - Elemen ini dapat berisi kumpulan ekstensi nama file yang akan ditolak atau diizinkan oleh IIS 7; misalnya: Anda dapat memblokir semua permintaan untuk file Web.config.
  • <hiddenSegments> - Elemen ini dapat berisi kumpulan URL yang tidak dapat ditelusuri; misalnya: Anda dapat menolak permintaan untuk folder ASP.NET App_Code.
  • <requestLimits> - Elemen ini berisi pengaturan untuk URL, konten, dan panjang string kueri. Ini juga dapat berisi kumpulan panjang maksimum yang ditentukan pengguna untuk header HTTP.
  • <verbs> - Elemen ini dapat berisi kumpulan kata kerja HTTP yang akan ditolak atau diizinkan oleh IIS 7; misalnya: Anda dapat memblokir semua permintaan HTTP TRACE.

Baru di IIS 7.5

IIS 7.5 menambahkan beberapa area fitur tambahan untuk pemfilteran permintaan:

  • <alwaysAllowedUrls> - Elemen ini dapat berisi kumpulan URL yang meminta pemfilteran akan selalu memungkinkan.
  • <alwaysAllowedQueryStrings> -Elemen ini dapat berisi string kueri koleksi dari pemfilteran permintaan tersebut akan selalu memungkinkan.
  • <denyQueryStringSequences> - Elemen ini dapat berisi kumpulan urutan string kueri yang meminta pemfilteran akan selalu ditolak. Ini memungkinkan administrator untuk memblokir urutan string kueri yang berpotensi berbahaya yang mereka deteksi.
  • <filteringRules> - Elemen ini dapat berisi kumpulan aturan pemfilteran permintaan kustom. Koleksi ini memungkinkan administrator untuk membuat aturan pemfilteran permintaan yang disesuaikan untuk kriteria tertentu.

Baru di IIS 10.0

IIS 10.0 menambahkan removeServerHeader atribut untuk menekan pengiriman header server HTTP ke klien jarak jauh.

Kode Substatus Kesalahan HTTP 404

Ketika pemfilteran permintaan memblokir permintaan HTTP, IIS 7 akan mengembalikan kesalahan HTTP 404 ke klien dan mencatat status HTTP dengan substatus unik yang mengidentifikasi alasan permintaan ditolak. Contohnya:

HTTP Substatus Deskripsi
404.5 Urutan URL Ditolak
404.6 Kata kerja Ditolak
404.7 Ekstensi File Ditolak
404.8 Namespace Tersembunyi
404.11 URL Double Escaped
404.12 URL Memiliki Karakter Bit Tinggi
404.14 URL Terlalu Panjang
404.15 String Kueri Terlalu Panjang
404.18 Urutan String Kueri Ditolak
404.19 Ditolak oleh Aturan Pemfilteran
413.1 Panjang Konten Terlalu Besar
431 Header Permintaan Terlalu Panjang

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

Kompatibilitas

Versi Catatan
IIS 10.0 Kemampuan untuk menekan header server ditambahkan di IIS 10.0.
IIS 8.5 Elemen <requestFiltering> tidak dimodifikasi dalam IIS 8.5.
IIS 8.0 Elemen <requestFiltering> tidak dimodifikasi dalam IIS 8.0.
IIS 7.5 Di IIS 7.5, minta pengiriman pemfilteran dengan atribut dan alwaysAllowedUrlselemen , , alwaysAllowedQueryStringsdenyQueryStringSequences, dan filteringRules .unescapeQueryString Elemen-elemen ini pertama kali diperkenalkan sebagai pembaruan untuk IIS 7.0 yang tersedia melalui Microsoft Knowledge Base Article 957508 (https://support.microsoft.com/kb/957508).
IIS 7.0 Elemen ini <requestFiltering> diperkenalkan di IIS 7.0.
IIS 6.0 Elemen menggantikan <requestFiltering> fitur UrlScan IIS 6.0.

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.
    Gambar panel Server Web dan Keamanan diperluas dengan Pemfilteran permintaan dipilih. .
  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.
    Gambar panel World Wide Web Services dan Security diperluas dengan Pemfilteran Permintaan disorot.
  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.
    Gambar halaman Pilih Layanan Peran dengan panel Keamanan diperluas dan Pemfilteran Permintaan dipilih.
  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 node World Wide Web Services dan Security diperluas dan Pemfilteran Permintaan disorot.

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 mengedit pengaturan fitur pemfilteran permintaan dan batas permintaan

  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.
    Gambar panel Beranda Situs Web Default memperlihatkan Pemfilteran Permintaan disorot.

  4. Klik Edit Pengaturan Fitur... di panel Tindakan .
    Gambar halaman Pemfilteran Permintaan yang menampilkan Edit Pengaturan Fitur di panel Tindakan.

  5. Tentukan opsi Anda, lalu klik OK.
    Cuplikan layar kotak dialog Edit Pengaturan Pemfilteran Permintaan memperlihatkan Izinkan ekstensi nama file yang tidak masuk daftar dipilih. Misalnya, Anda dapat membuat perubahan berikut:

    • Ubah panjang URL maksimum menjadi 2KB dengan menentukan 2048.
    • Ubah panjang string kueri maksimum menjadi 1KB dengan menentukan 1024.
    • Tolak akses ke kata kerja HTTP yang tidak masuk daftar dengan mengosongkan kotak centang Izinkan kata kerja yang tidak terdata .

Cara menolak urutan URL

  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.
    Gambar panel Beranda Situs Web Default memperlihatkan aplikasi Pemfilteran Permintaan disorot.

  4. Di panel Pemfilteran Permintaan , klik tab Tolak Urutan URL , lalu klik Tambahkan Urutan URL... di panel Tindakan .
    Cuplikan layar halaman Pemfilteran Permintaan dengan tab Tolak Urutan U R L di panel Tindakan.

  5. Dalam kotak dialog Tambahkan Urutan Tolak , masukkan urutan URL yang ingin Anda blokir, lalu klik OK.
    Gambar kotak dialog Tambahkan Urutan Tolak.
    Misalnya, untuk mencegah transversal direktori di server Anda, Anda akan memasukkan dua periode ("..") dalam kotak dialog.


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 panel Beranda yang menampilkan aplikasi Pemfilteran Permintaan dipilih.

  4. Di panel Pemfilteran Permintaan , klik tab Ekstensi Nama File , lalu klik Tolak Ekstensi Nama File... di panel Tindakan .
    Gambar aplikasi Pemfilteran Permintaan disorot di Beranda Situs Web Default.

  5. Dalam kotak dialog Tolak Ekstensi Nama File , masukkan ekstensi nama file yang ingin Anda blokir, lalu klik OK.
    Gambar kotak dialog Tolak Ekstensi Nama File yang menampilkan ekstensi nama file yang di ketik di bidang masing-masing. Misalnya, untuk mencegah akses ke file dengan ekstensi nama file .inc, Anda akan memasukkan "inc" dalam kotak dialog.


Cara menambahkan segmen tersembunyi

  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 panel Beranda di Layanan Informasi Internet I I S Manager dengan Pemfilteran Permintaan disorot.

  4. Di panel Pemfilteran Permintaan , klik tab Segmen Tersembunyi , lalu klik Tambahkan Segmen Tersembunyi... di panel Tindakan .
    Gambar panel Pemfilteran permintaan yang menampilkan tab Segmen Tersembunyi dengan opsi Tambahkan Segmen Tersembunyi di panel Tindakan.

  5. Dalam kotak dialog Tambahkan Segmen Tersembunyi , masukkan jalur relatif yang ingin Anda sembunyikan, lalu klik OK.
    Cuplikan layar kotak dialog Tambahkan Segmen Tersembunyi memperlihatkan jalur relatif yang dimasukkan di bidang Segmen Tersembunyi.


Cara menambahkan batas untuk header HTTP

  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.
    Gambar halaman Beranda Situs Web Default dengan panel Tindakan dan Pemfilteran Permintaan disorot.

  4. Di panel Pemfilteran Permintaan , klik tab Header , lalu klik Tambahkan Header... di panel Tindakan .
    Gambar panel Pemfilteran Permintaan yang menampilkan tab Header dan Tambahkan Header di panel Tindakan.

  5. Dalam kotak dialog Tambahkan Header , masukkan header HTTP dan ukuran maksimum yang Anda inginkan untuk batas header, lalu klik OK.
    Cuplikan layar kotak dialog Tambahkan Header dengan bidang untuk Header H T T P dan batas Ukuran.

    Misalnya, header "Jenis konten" berisi jenis MIME untuk permintaan. Menentukan nilai 100 akan membatasi panjang header "Jenis konten" menjadi 100 byte.


Cara menolak kata kerja HTTP

  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 taskbar, klik Mulai, arahkan ke Alat Administratif, lalu klik Manajer 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 panel Beranda dengan aplikasi Pemfilteran Permintaan disorot.

  4. Di panel Pemfilteran Permintaan , klik tab kata kerja HTTP , lalu klik Tolak Kata Kerja... di panel Tindakan .
    Gambar panel Pemfilteran Permintaan memperlihatkan tab kata kerja H T T P dan opsi Tolak kata kerja di panel Tindakan.

  5. Dalam kotak dialog Tolak Kata Kerja , masukkan kata kerja HTTP yang ingin Anda blokir, lalu klik OK.
    Gambar kotak dialog Tolak Kata Kerja dengan kata kerja H T T P dimasukkan di bidang Kata Kerja.

    Misalnya, untuk mencegah permintaan HTTP TRACE ke server Anda, Anda akan memasukkan "TRACE" di kotak dialog.

Konfigurasi

Atribut

Atribut Deskripsi
allowDoubleEscaping Atribut Boolean opsional.

Jika diatur ke true, pemfilteran permintaan akan memungkinkan URL dengan karakter doubly-escaped. Jika diatur ke false, pemfilteran permintaan akan menolak permintaan jika karakter yang telah diloloskan dua kali ada dalam URL.

Nilai defaultnya adalah false.
allowHighBitCharacters Atribut Boolean opsional.

Jika diatur ke true, pemfilteran permintaan akan mengizinkan karakter non-ASCII dalam URL. Jika diatur ke false, pemfilteran permintaan akan menolak permintaan jika karakter bit tinggi ada dalam URL.

Nilai defaultnya adalah true.
removeServerHeader Atribut Boolean opsional.

Jika diatur ke true, pemfilteran permintaan akan menekan header server IIS. Jika diatur ke false, IIS akan mengembalikan header server default. (Catatan: Atribut ini ditambahkan di IIS 10.0 dan tidak berfungsi di versi Windows sebelum Windows Server, versi 1709 atau Windows 10, versi 1709.)

Nilai defaultnya adalah false.
unescapeQueryString Atribut Boolean opsional.

Jika diatur ke true, pemfilteran permintaan akan melakukan dua pass pada setiap pemindaian string kueri. Pass pertama akan memindai string kueri mentah, dan pass kedua akan memindai string kueri setelah IIS mendekode urutan escape apa pun. Jika diatur ke false, pemfilteran permintaan hanya akan melihat string kueri mentah seperti yang dikirim oleh klien.

Catatan: Atribut ini ditambahkan di IIS 7.5.

Nilai defaultnya adalah true.

Elemen Anak

Elemen Deskripsi
alwaysAllowedQueryStrings Elemen opsional.

Menentukan kumpulan string kueri yang meminta pemfilteran akan selalu memungkinkan.

Catatan: Elemen ini ditambahkan dalam IIS 7.5.
alwaysAllowedUrls Elemen opsional.

Menentukan kumpulan URL yang meminta pemfilteran akan selalu memungkinkan.

Catatan: Elemen ini ditambahkan dalam IIS 7.5.
denyQueryStringSequences Elemen opsional.

Menentukan kumpulan urutan string kueri yang meminta pemfilteran akan selalu ditolak.

Catatan: Elemen ini ditambahkan dalam IIS 7.5.
denyUrlSequences Elemen opsional.

Menentukan urutan yang harus ditolak untuk membantu mencegah serangan berbasis URL pada server Web.
fileExtensions Elemen opsional.

Menentukan ekstensi nama file mana yang diizinkan atau ditolak untuk membatasi jenis permintaan yang dikirim ke server Web.
filteringRules Elemen opsional.

Menentukan kumpulan aturan pemfilteran permintaan kustom.

Catatan: Elemen ini ditambahkan dalam IIS 7.5.
hiddenSegments Elemen opsional.

Menentukan bahwa segmen URL tertentu dapat dibuat tidak dapat diakses oleh klien.
requestLimits Elemen opsional.

Menentukan batasan pada permintaan yang diproses oleh server Web.
verbs Elemen opsional.

Menentukan kata kerja HTTP mana yang diizinkan atau ditolak untuk membatasi jenis permintaan yang dikirim ke server Web.

Sampel Konfigurasi

Sampel konfigurasi berikut dari file Web.config melakukan beberapa tugas terkait keamanan:

  • Menolak akses ke dua urutan URL. Urutan pertama mencegah transversal direktori dan urutan kedua mencegah akses ke aliran data alternatif.
  • Menolak akses ke ekstensi nama file yang tidak dilisensikan dan kata kerja HTTP yang tidak diiklankan.
  • Mengatur panjang maksimum url ke 2KB dan panjang maksimum untuk string kueri menjadi 1KB.
<configuration>
   <system.webServer>
      <security>
         <requestFiltering>
            <denyUrlSequences>
               <add sequence=".." />
               <add sequence=":" />
            </denyUrlSequences>
            <fileExtensions allowUnlisted="false" />
            <requestLimits maxUrl="2048" maxQueryString="1024" />
            <verbs allowUnlisted="false" />
         </requestFiltering>
      </security>
   </system.webServer>
</configuration>

Kode Sampel

Sampel kode berikut menunjukkan cara menolak akses ke tiga urutan URL untuk Situs Web Default: transversal direktori (".."), aliran data alternatif (":"), dan garis miring terbelakang ("").

AppCmd.exe

appcmd.exe set config "Default Web Site" -section:system.webServer/security/requestFiltering /+"denyUrlSequences.[sequence='..']" 

appcmd.exe set config "Default Web Site" -section:system.webServer/security/requestFiltering /+"denyUrlSequences.[sequence=':']" 

appcmd.exe set config "Default Web Site" -section:system.webServer/security/requestFiltering /+"denyUrlSequences.[sequence='\']"

PowerShell

Start-IISCommitDelay

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

New-IISConfigCollectionElement -ConfigCollection $denyUrlSequences -ConfigAttribute @{ 'sequence' = '..' }
New-IISConfigCollectionElement -ConfigCollection $denyUrlSequences -ConfigAttribute @{ 'sequence' = ':' }
New-IISConfigCollectionElement -ConfigCollection $denyUrlSequences -ConfigAttribute @{ 'sequence' = '\' }

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");

         ConfigurationElementCollection denyUrlSequencesCollection = requestFilteringSection.GetCollection("denyUrlSequences");

         ConfigurationElement addElement = denyUrlSequencesCollection.CreateElement("add");
         addElement["sequence"] = @"..";
         denyUrlSequencesCollection.Add(addElement);

         ConfigurationElement addElement1 = denyUrlSequencesCollection.CreateElement("add");
         addElement1["sequence"] = @":";
         denyUrlSequencesCollection.Add(addElement1);

         ConfigurationElement addElement2 = denyUrlSequencesCollection.CreateElement("add");
         addElement2["sequence"] = @"\";
         denyUrlSequencesCollection.Add(addElement2);

         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 denyUrlSequencesCollection As ConfigurationElementCollection = requestFilteringSection.GetCollection("denyUrlSequences")

      Dim addElement As ConfigurationElement = denyUrlSequencesCollection.CreateElement("add")
      addElement("sequence") = ".."
      denyUrlSequencesCollection.Add(addElement)

      Dim addElement1 As ConfigurationElement = denyUrlSequencesCollection.CreateElement("add")
      addElement1("sequence") = ":"
      denyUrlSequencesCollection.Add(addElement1)

      Dim addElement2 As ConfigurationElement = denyUrlSequencesCollection.CreateElement("add")
      addElement2("sequence") = "\"
      denyUrlSequencesCollection.Add(addElement2)

      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 denyUrlSequencesCollection = requestFilteringSection.ChildElements.Item("denyUrlSequences").Collection;

var addElement = denyUrlSequencesCollection.CreateNewElement("add");
addElement.Properties.Item("sequence").Value = "..";
denyUrlSequencesCollection.AddElement(addElement);

var addElement1 = denyUrlSequencesCollection.CreateNewElement("add");
addElement1.Properties.Item("sequence").Value = ":";
denyUrlSequencesCollection.AddElement(addElement1);

var addElement2 = denyUrlSequencesCollection.CreateNewElement("add");
addElement2.Properties.Item("sequence").Value = "\\";
denyUrlSequencesCollection.AddElement(addElement2);

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 denyUrlSequencesCollection = requestFilteringSection.ChildElements.Item("denyUrlSequences").Collection

Set addElement = denyUrlSequencesCollection.CreateNewElement("add")
addElement.Properties.Item("sequence").Value = ".."
denyUrlSequencesCollection.AddElement(addElement)

Set addElement1 = denyUrlSequencesCollection.CreateNewElement("add")
addElement1.Properties.Item("sequence").Value = ":"
denyUrlSequencesCollection.AddElement(addElement1)

Set addElement2 = denyUrlSequencesCollection.CreateNewElement("add")
addElement2.Properties.Item("sequence").Value = "\"
denyUrlSequencesCollection.AddElement(addElement2)

adminManager.CommitChanges()