Ist es möglich, bestimmte Benutzeragenten direkt aus web.config zu verbannen? Bestimmte Roboter scheinen robots.txt nicht zu folgen, und um sinnlose Serverlast (und Log-File-Spamming) zu vermeiden, möchte ich verhindern, dass bestimmte Anfrageklassen (insbesondere basierend auf User-Agent oder sehr vielleicht IP-Adresse) fortfahren .
Bonuspunkte, wenn Sie wissen, ob es in ähnlicher Weise möglich ist zu verhindern, dass solche Anfragen vollständig in der Protokolldatei von IIS protokolliert werden. (d. h. if-request-match, Weiterleitung an / dev / null, wenn Sie meine Bedeutung verstehen).
Eine Lösung für win2003 wäre vorzuziehen, aber das ist ein wiederkehrendes Problem - wenn es eine saubere Lösung für IIS7 aber nicht für IIS6 gibt, würde ich mich freuen, es zu wissen.
Bearbeiten: Sorry 'über die unvollständige Frage früher, hatte ich Tab + versehentlich eingegeben.
Dies kann ziemlich einfach mit dem URLRewrite-Modul in IIS7 getan werden. Aber ich weiß wirklich nicht, ob dadurch verhindert wird, dass diese Anfragen protokolliert werden.
%Vor%Sie könnten ein benutzerdefiniertes ASP.Net HttpModule schreiben, wie ich es für meine Site getan habe, um einige Rogue Bots zu verbieten. Hier ist der Code:
%Vor%Sie müssen es in web.config registrieren und den regulären Ausdruck angeben, der verwendet wird, um die Zeichenfolge des Benutzeragenten abzugleichen. Hier ist eine, die ich verwendet habe, um msnbot / 1.1-Verkehr zu verbieten:
%Vor%Glauben Sie nicht, dass Sie dies von web.config aus tun können (Autorisierung in web.config ist für Benutzer, nicht für Bots). Ihre beste Wette wäre eine Art von benutzerdefinierten ISAPI-Filter für IIS selbst. Es gibt einen Blog hier darüber . Viel Glück!