Saya ingin memblokir bot dengan IIS. Dengan Apache Anda dapat menambahkan perintah ke file .htaccess Anda, seperti diuraikan di sini . Bagaimana saya mencapai ini dengan IIS 7.5?
Memperbarui
Selain jawaban di bawah ini, ada sejumlah pendekatan yang saya temukan sejak memposting pertanyaan ini:
- Opsi Pemindaian URL tercantum dalam jawaban yang diterima.
- Tetapkan aturan Penyaringan Permintaan (contoh di bawah)
- Tetapkan aturan penulisan ulang URL (contoh di bawah)
Minta Aturan Filter
<system.webServer>
<security>
<requestFiltering>
<filteringRules>
<filteringRule name="BlockSearchEngines" scanUrl="false" scanQueryString="false">
<scanHeaders>
<clear />
<add requestHeader="User-Agent" />
</scanHeaders>
<appliesTo>
<clear />
</appliesTo>
<denyStrings>
<clear />
<add string="YandexBot" />
</denyStrings>
</filteringRule>
</filteringRules>
</requestFiltering>
</security>
[...]
</system.webServer>
Aturan Penulisan Ulang URL
<rule name="RequestBlockingRule1" patternSyntax="Wildcard" stopProcessing="true">
<match url="*" />
<conditions>
<add input="{HTTP_USER_AGENT}" pattern="YandexBot" />
</conditions>
<action type="CustomResponse" statusCode="403" statusReason="Forbidden: Access is denied." statusDescription="Get Lost." />
</rule>
Untuk proyek terakhir saya, saya berakhir dengan opsi 2 karena berfokus pada keamanan dan didasarkan pada Pemindaian URL terintegrasi ke dalam IIS 7.
Saya tahu ini adalah pertanyaan lama, tetapi dalam IIS 7.5 Anda dapat menolak oleh agen pengguna jika Anda menggunakan Pemfilteran Permintaan.
Di IIS, buka situs web yang ingin Anda terapkan filter dan kemudian di panel kanan, klik ikon Permintaan Penyaringan . (Anda mungkin harus mengaktifkan fitur ini melalui manajer server).
Klik tab Aturan , lalu di sepanjang daftar paling kanan, pilih "Tambahkan Aturan Penyaringan"
Beri nama, lalu di bagian Pindai Tajuk , tulis "Agen-Pengguna".
Anda dapat menambahkan jenis file spesifik apa saja untuk diblokir di Berlaku untuk , atau Anda dapat membiarkannya kosong untuk membuatnya berlaku untuk semua jenis file.
Di Deny Strings , masukkan semua string agen pengguna yang ingin Anda blokir. Dalam hal pertanyaan ini, Anda akan meletakkan "Yandex" di sini.
Saya mengkonfirmasi perubahan ini di chrome menggunakan ekstensi User Agent Switcher .
sumber
Untuk perayap yang tidak menghormati Robots.txt, Anda dapat menggunakan URL Penulisan Ulang di server untuk diblokir berdasarkan Agen Pengguna mereka, lihat: http://chrisfulstow.com/using-the-iis-7url-rewrite-module-to- perayap blok /
Untuk info lebih lanjut: http://www.iis.net/download/URLRewrite
sumber