PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : IP-Adresse sperren per .htaccess -erledigt!


Teddy
25.08.2006, 17:57
Hallo Computer-Freaks,

da sich seit Tagen ein search-bot auf meiner Seite als Gast herumtreibt (die IP ist immer dieselbse), möchte ich diese IP dauerhaft von meiner Seite verbannen u.a. um den Traffic nicht unnötig hochzutreiben.

Dies soll funktionieren per Befehl in der .htaccess im Rootverzeichnis.

Ein erster Versuch gestern endete damit, dass ich mich selbst und alle anderen von meiner Seite ausgesperrt hatte.

Daher wäre ich für Hilfe dankbar:

Wie genau(!) muss eine .htaccess aussehen, die die IP 70.42.51.10 fernhält?

Schmiddi
25.08.2006, 18:03
Hallo!

Guckst Du hier (http://de.selfhtml.org/servercgi/server/htaccess.htm#ip_bereiche_namen).

Sollte also ein

order deny,allow
deny from 70.usw
allow from all

helfen.

Viele Grüße,
Andreas

Teddy
25.08.2006, 18:14
Gesagt...getan...

Ich hab die Datei folgendermassen erstellt und ins root gespeichert:

order deny,allow
deny from 70.42.51.10
allow from all
ErrorDocument 403 http://127.0.0.1

Muss die Datei in jedem verzeichnis liegen oder sollte es im root ausreichend plaziert sein?
Ich frage, weil die IP immer noch von Bild zu Bild springt :roll:

Hellraider
25.08.2006, 19:54
Die Datei "schützt" alles was sich in dem Pfad befindet, wo die .htaccess befindet und alles was sich unterhalb dieser Ebene befindet.

Schmiddi
25.08.2006, 19:55
Hallo!

Die .htaccess gilt jeweils für das Verzeichnis, in welchem sie steht sowie für alle Unterbverzeichnisse ab dort. Wenn Du die also parallel zur index.html ablegst, gilts für die gesamte Webpräsenz.

Übrigens sollte man solche Spider auch per robots.txt erziehen können. Da steht drin, was robots dürfen sollen. Zwar ist das freiwillig, aber die meisten robots halten sich dran.

Bei steht da drin:
user-agent: * # directed to all robots
Disallow: /cgi-bin/
Disallow: statistik/
Disallow: www/acars/

Alle Verzeichnisse, wo der wegbleiben soll, zeilenweise aufführen. Sonst suchen die doch, und der arme Apache muss dann immer die .htaccess auswerten...

Viele Grüße,
Andreas

Teddy
25.08.2006, 20:03
Die Datei "schützt" alles was sich in dem Pfad befindet, wo die .htaccess befindet und alles was sich unterhalb dieser Ebene befindet.

Naja, eben das klappt nicht...
Er tummelt sich weiterhin :roll:

Thrunter
25.08.2006, 20:34
Die Datei "schützt" alles was sich in dem Pfad befindet, wo die .htaccess befindet und alles was sich unterhalb dieser Ebene befindet.

Naja, eben das klappt nicht...
Er tummelt sich weiterhin :roll:

wenn der punkt vor dem htaccess nicht fehlt, was ich mal annehme, könnte es sein, dass entweder in dem untergeordneten verzeichnis eine andere htaccess gilt, denn für jedes verzeichnis gilt nur die, hierarchisch nächstliegende - vom aufgerufenen verzeichnis ausgehend - oder die groß- / kleinschreibung ist nicht beachtet. afaik is die zwingend notwendig.

aus Schmiddis beitrag wird dann:

Order Deny,Allow
Deny from 70.42.51.10
Allow from all
ErrorDocument 403 http://127.0.0.1


Gruß,
Andy

Edit:

ups... nochwas... die reihenfolge is falschrum

Order Allow,Deny
Allow from all
Deny from 70.42.51.10

da der server die anweisungen in der reihenfolge ausführt, wie sie dastehen, muss das Deny hinter dem Allow stehen.

ManniC
25.08.2006, 20:38
Numma am Rande bemerkt: In diesem Moment tummelt sich Google unter 17 (!) verschiedenen IP's auf meiner Page. Echt emsig das Kerlchen ;)

Schmiddi
25.08.2006, 21:08
Order Allow,Deny
Allow from all
Deny from 70.42.51.10

da der server die anweisungen in der reihenfolge ausführt, wie sie dastehen, muss das Deny hinter dem Allow stehen.

Shit - genau das isses. Weil bei mir war der letzte Eintrag allow from all - und das erlaubt halt auch dem 70-er wieder den Zugriff. Sorry...

Viele Grüße,
Andreas

Teddy
25.08.2006, 21:14
Yep Mädels...jetzt hat´s ihn endlich geschmissen.

Nen großen Dank in die Runde für Eure Hilfe :top:

Lostname
25.08.2006, 22:55
Lässt sich auch ganz gut per Rewrite regeln.
RewriteEngine on

RewriteCond %{REMOTE_ADDR} ^63.99.(21[0-7]). [OR]
# Schliesst 63.99.210.* bis 63.99.217.* aus
RewriteRule ^.* - [F]
# Erzeugt 403 (Forbidden) Fehlermeldung

Problem ist das die Anfrage dann schon auf deinem Webspace gelandet ist, genau wie die Umleitung über ne deny,allow Regel.

Obiges Beispiel ist ganz praktisch um durch die Regulären Ausdrücke ganze Bereiche auszusperren.