Seite 1 von 2

mod_rewrite und IP aussperren

Verfasst: 12.05.2006, 08:12
von nightmare
Hallo zusammen,

ich habe den Fall dass ich beides machen muss. Aber wie? Schreibe ich die Befehle in eine .htaccess bekomme ich einen Fehler. Meine Frage: Schreibt man jeweils eine .htaccess für einen Befehl?

Für Hilfe bin ich dankbar.

Verfasst:
von

Re: mod_rewrite und IP aussperren

Verfasst: 12.05.2006, 09:19
von haha
nightmare hat geschrieben:ich habe den Fall dass ich beides machen muss.
Was "beides"?
Aber wie? Schreibe ich die Befehle in eine .htaccess bekomme ich einen Fehler.
Welche Befehle in welcher Form bringen welchen Fehler? "Geht nicht" ist keine brauchbare Problembeschreibung.
Meine Frage: Schreibt man jeweils eine .htaccess für einen Befehl?
Nein (es sind übrigens Einstellungen, keine Befehle - nicht, dass Du auf die Idee kommst, da sei eine Programmiersprache am Werk).

IPs sperrst Du davon abgesehen besser weil effizienter, schneller und einfacher mit Order und Deny.

Verfasst: 12.05.2006, 09:34
von nightmare
@haha, ich brauche die .htaccess zum einen für mod_rewroite, was auch wunderbar funktioniert und habe seit einer Woche einen Bad Refferer, den ich sperren möchte.

Den genauen Text habe ich jetzt nicht parat (bin auf Arbeit) werde ich aber später ergänzen.

Aber ier st so in etwa:

RewriteEngine on
RewriteCond .....
RewriteRule ......

Order deny,allow
Deny from ............
Allow from all

Leider bekomme ich dabei einen Internal Error.

Jetzt die Frage, kann ich beide Einstellung in eine .htaccess schreiben, wenn ja wie? Oder muss ich die Einstellung in getrennten .htaccess in das root Verzeichnis laden.

Verfasst: 12.05.2006, 10:24
von thetrasher
nightmare hat geschrieben:Oder muss ich die Einstellung in getrennten .htaccess in das root Verzeichnis laden.
:wtf: Wenn Du es schaffst, in einem Verzeichnis zwei, drei oder noch mehr Dateien mit dem selben Namen (.htaccess) anzulegen, teile es mir bitte umgehend mit.
nightmare hat geschrieben:Leider bekomme ich dabei einen Internal Error.
Vermutlich hat sich in der .htaccess ein Fehler eingeschlichen oder eine Direktive wird nicht unterstützt. Bei einer meiner Präsenzen wird "order" nicht unterstützt, "deny" allein funktioniert!

Verfasst: 12.05.2006, 10:46
von 800XE
nightmare hat geschrieben:RewriteEngine on
RewriteCond .....
RewriteRule ......

Order deny,allow
Deny from ............
Allow from all
erst tust du einem was verbieten
undd ann tust du allen alles erlauben ... somit ist dein verbot ungültig

auserdem kommt sowas glaub vor den Rewrites

du willst eine ip verbieten oder einen Useragent?

Code: Alles auswählen

ErrorDocument 404 /index.php?error=404

deny from 66.154.103.78  # Gigablast Gigabot

RewriteEngine on
RewriteRule (.*)/$              /?folder=$1
RewriteRule (.*)\.html$         /?file=$1

betr
mehrere .htaccess ins root legen??????
wie willst du das machen?
hat deine Familie 5 Autos, die alle auf dem selben Parkplatz parken(gleichzeitig)?

Verfasst: 12.05.2006, 11:15
von haha
nightmare hat geschrieben:@haha, ich brauche die .htaccess zum einen für mod_rewroite, was auch wunderbar funktioniert und habe seit einer Woche einen Bad Refferer, den ich sperren möchte.
Dann möchtest Du aber nach Referrer-Kopf sperren, nicht nach IP.
Leider bekomme ich dabei einen Internal Error.
Schau mal in das Fehlerprotokoll, da steht drin, was der Fehlergrund ist.
Und zumindest der Apache 2 scheibt da auch genau rein, welche Direktive er nicht akzeptiert:

[Fri May 12 12:09:32 2006] [alert] [client 1.2.3.4] /bla/htdocs/.htaccess: AddType not allowed here

Hier möchte er also AddType nicht haben.
Jetzt die Frage, kann ich beide Einstellung in eine .htaccess schreiben, wenn ja wie?
Ja, und so wie Du möchtest. Reihenfolge ist, wenn überhaupt, nur unter gleichartigen Direktiven wichtig (die Rewrite-Geschichten werden zum Beispiel nacheinander abgearbeitet, aber ob Deny davor oder dahinter steht, ist vollkommen wurscht).

Verfasst: 12.05.2006, 11:18
von nightmare
Danke, ok das hilft mir schon weiter. Ich möchte nur IPs sperren keine Useragents. Ich werde das heute abend probieren.

Verfasst: 12.05.2006, 11:27
von ole1210
Jetzt die Frage, kann ich beide Einstellung in eine .htaccess schreiben, wenn ja wie? Oder muss ich die Einstellung in getrennten .htaccess in das root Verzeichnis laden.
Wie willst du mehrere Dateien mit dem selben Namen erstellen die in einem Ordner liegen? Das klappt nicht...

Verfasst: 12.05.2006, 11:38
von nightmare
ole1210, ja danke, das macht wirklich keinen Sinn.

Ich werde nochmal alles durch spielen. Irgendwie wird es hoffentlich klappen.
Poste heute abend nochmal, was dazu.

Verfasst: 12.05.2006, 19:47
von nightmare
Folgender Text steht in der .htaccess

ORDER DENY
DENY FROM .............
DENY FROM .............
DENY FROM ..............
DENY FROM ..............

RewriteEngine on

RewriteBase /
RewriteRule ^test-(.*)-(.*).html$ index.php?go=$2&url=$1



Bekomme folgenden Fehler:

-------

Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator, [no address given] and inform them of the time the error occurred, and anything you might have done that may have caused the error.

More information about this error may be available in the server error log.

---------


Ohne order deny also so:



RewriteEngine on

RewriteBase /
RewriteRule ^test-(.*)-(.*).html$ index.php?go=$2&url=$1



läuft prima.

Was mache ich falsch?

Verfasst: 12.05.2006, 21:29
von haha
nightmare hat geschrieben:Bekomme folgenden Fehler:

Internal Server Error
[…]
More information about this error may be available in the server error log.

Was mache ich falsch?
Was Du falsch machst? In erster Linie das: Du befolgst nicht die Hinweise, die der Server Dir gibt (siehe oben) und die ich Dir auch schon gegeben habe. Auch benutzt Du Anweisungen, stellst fest, dass sie nicht so funktionieren wie gedacht, aber schaust trotzdem nicht in die Anleitung, um mal zu gucken, ob Du sie wirklich richtig benutzt.
Dir stehen zwei einfache und naheliegende Möglichkeiten offen, den Fehler in bestimmt nicht einmal einer Minute zu beheben, Du nutzt aber leider keine davon.

Hoffentlich quakt jetzt keiner dazwischen und verrät die Lösung. Das ist eine Sache, die solltest und die kannst Du wirklich alleine herausfinden. Ja, das ist eine gemeine erzieherische Maßnahme - hake es unter Hilfe zur Selbsthilfe ab, wir sind hier ja nicht im Kindergarten, wo jeder an die Hand genommen werden muss :) Möchte auch höflichst darum bitten zur Kenntnis zu nehmen, dass ich auch in dieser Antwort dreimal mit dem Gartenzaun gewunken habe.

Verfasst: 12.05.2006, 23:18
von nightmare
haha, habe den Gartenzaun entdeckt. Schaue soeben in die Confixx-Oberfläche unter Servermeldung >> "Fehler" und bekomme keine weiteren Informationen.

Wo steckt der Fehler? Wo finde ich den "server error log"?

Ich werde weiter nachdenken .....

Verfasst: 12.05.2006, 23:45
von The-Plaqe

Code: Alles auswählen

order allow,deny
allow from all

deny from IP

trag doch einfach mal deine ip ein
https://www.gulli.com/tools/anonymitaetscheck/

dann wirst sehen dass du ausgesperrt wirst *g*


die rule würde ich so machen

Code: Alles auswählen

RewriteRule ^seite(.*)-(.*)\.html$ /index.php?go=$1&url=$2

Verfasst: 13.05.2006, 00:02
von nightmare
The-Plaqe,

jetzt kein Fehler. Danke. Werde später meine Logfiles checken, ob der Refferer von meiner Seite fern bleibt.

Verfasst: 13.05.2006, 09:48
von haha
nightmare hat geschrieben:Wo steckt der Fehler? Wo finde ich den "server error log"?
Ich kenne mich mit Confixx nicht aus, aber Du müsstest irgendwo eine Datei auf dem Server bzw. eine entsprechende Confixx-Seite haben, in der Fehlermeldungen des Webservers protokolliert werden. Da werden zum Beispiel auch Zugriffe protokolliert, die nicht existierende Seiten abrufen wollten.

Ruf zur Not [Deine Server-URL]/asfopjaeopdfjpa mit Deinem Browser ab und such in Confixx die Stelle, an der etwas in der Form "[Zeitpunkt] [Fehlerstufe] [verursachende IP oder Domain] File does not exist: [Pfad]/asfopjaeopdfjpa" erscheint. Wenn Du das gefunden hast (irgendwo muss das sein, ohne das Fehlerprotokoll kann man einen Webserver nicht vernünftig betreiben), dann kopier nochmal den Code, den Du oben fett gedruckt hast, komplett (von den Deny-Zeilen brauchst Du nur eine, und die bitte mit einer IP ausfüllen, sonst haut er Dir die auch noch um die Ohren) in Deine .htaccess und provoziere so die Fehlermeldung.

Wenn es der Fehler ist, den ich da gesehen habe, dann müsste im Protokoll ein entsprechender, ausreichender Hinweis stehen (ich hab's bei mir ausprobiert, beim Apache 2.0 kommt definitiv eine Meldung). Wenn nicht, frage Deinen Hoster, wie das angehen kann, und befasse Dich nochmal mit den Anweisungen in der .htaccess. Könnte ja sein, dass Du eine nicht so ganz richtig benutzt hast… :)