ฉันต้องการบล็อกบ็อตด้วย IIS ด้วย Apache คุณสามารถเพิ่มคำสั่งไปยัง htaccess ไฟล์ของคุณเป็นแสดงไว้ที่นี่ ฉันจะทำสิ่งนี้กับ IIS 7.5 ได้อย่างไร
ปรับปรุง
นอกจากคำตอบด้านล่างมีวิธีการทั้งหมดที่ฉันค้นพบนับตั้งแต่โพสต์คำถามนี้:
- ตัวเลือกการสแกน URL แสดงรายการในคำตอบที่ยอมรับ
- กำหนดกฎการกรองคำขอ (ตัวอย่างด้านล่าง)
- กำหนดกฎการเขียน URL ใหม่ (ตัวอย่างด้านล่าง)
ขอกฎตัวกรอง
<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>
กฎการเขียนซ้ำ 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>
สำหรับโครงการสุดท้ายของฉันฉันสิ้นสุดด้วยตัวเลือก 2 เนื่องจากเน้นความปลอดภัยและยึดตามการสแกน URL ที่รวมอยู่ใน IIS 7