Problem mit selbsterstellter 403-Fehlerseite
Peter
- webserver
Hi,
ich habe ein Problem mit meiner selbsterstellten 403-Fehlerseite auf'm Webspace.
Zuerst mal hier meine .htaccess in verkürzter Form:
ErrorDocument 403 http://domain.org/error.php
AddHandler x-httpd-php5 .php
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^http://domain.org
RewriteCond %{REQUEST_URI} !^.+no.+$
RewriteRule ^.+.(gif|GIF|jpg|JPG|jpeg|JPEG)$ http://domain.org/error_handling/ban_image/no.gif [redirect,last]
SetEnvIfNoCase User-Agent "^$" bad_bot=1
SetEnvIfNoCase User-Agent "^Alexibot*" bad_bot=1
SetEnvIfNoCase User-Agent "^Anarchie*" bad_bot=1
SetEnvIfNoCase User-Agent "^Aqua_Products*" bad_bot=1
SetEnvIfNoCase User-Agent "^ASPSeek*" bad_bot=1
[...]
SetEnvIfNoCase Referer "yelucie.com" spammer=1
SetEnvIfNoCase Referer "yesno.spb.ru" spammer=1
SetEnvIfNoCase Referer "zs1.biz" spammer=1
SetEnvIfNoCase Via "pinappleproxy" spammer=1
[...]
<FilesMatch "(.*)">
Order Allow,Deny
Allow from all
Deny from env=bad_bot
Deny from env=spammer
Deny from 2.core.net.pl
Deny from 202.megaegg.ne.jp
Deny from 252.64.snet.net
[...]
Deny from 193.194.83.31
Deny from 193.194.84.198
Deny from 193.231.235.*
Deny from 193.231.236.*
[...]
</FilesMatch>
Das ist der komplette Inhalt. Wie ihr seht, habe ich direkt in der ersten Zeile meine Fehlerseite definiert. Die klappt auch in gewisser Weise: Gebe ich per Hand ein Verzeichnis (z.B. cgi-bin) ein, wird richtig auf die Fehlerseite umgeleitet.
Steht meine IP jedoch gesperrt in der .htaccess (das war der Fall, weil ich meine Spambot-Falle ausprobieren wollte), wird mir der Zutritt zu der Seite also gänzlich per "deny from" verboten, erscheint nach längerem Laden (im Firefox) der Fehler: Die aufgerufene Website leitet die Anfrage so um, dass sie nie beendet werden kann...
Woran liegt das, jemand ne Ahnung?
Hi,
ErrorDocument 403 http://domain.org/error.php
Woran liegt das, jemand ne Ahnung?
Gegenfrage: Hast Du 'ne Ahnung, was bei der Angabe einer absoluten URL an dieser Stelle passieren *muss*?
Cheatah
Gegenfrage: Hast Du 'ne Ahnung, was bei der Angabe einer absoluten URL an dieser Stelle passieren *muss*?
Nein? Ich meine aber, das selbst Confixx 'ne absolute URL in der .htaccess angelegt hat. Hab allerdings keine Ahnung, wie der von mir beschriebene Fehler zu Stande kommt.
gudn tach!
Gegenfrage: Hast Du 'ne Ahnung, was bei der Angabe einer absoluten URL an dieser Stelle passieren *muss*?
Nein? Ich meine aber, das selbst Confixx 'ne absolute URL in der .htaccess angelegt hat. Hab allerdings keine Ahnung, wie der von mir beschriebene Fehler zu Stande kommt.
ich vermute, Cheatah wollte dich darauf aufmerksam machen, dass es noch andere moeglichkeiten gibt, ziele anzugeben. bei weiterleitung auf einen url wird natuerlich wieder die .htaccess-maschinerie gestartet.
prost
seth
Hi,
ErrorDocument 403 http://domain.org/error.php
Woran liegt das, jemand ne Ahnung?Gegenfrage: Hast Du 'ne Ahnung, was bei der Angabe einer absoluten URL an dieser Stelle passieren *muss*?
Gegenfrage: kann es sein, daß Du 403 mit 401 verwechselst?
cu,
Andreas
hi,
Gegenfrage: Hast Du 'ne Ahnung, was bei der Angabe einer absoluten URL an dieser Stelle passieren *muss*?
Gegenfrage: kann es sein, daß Du 403 mit 401 verwechselst?
Nein, wohl kaum.
Die 403-Fehlerseite kann nicht angezeigt werden, wenn per Redirect auf sie weitergeleitet wird - aber der Zugriff auf diese Ressource ebenfalls untersagt ist.
Dass für 401 absolute URLs nicht erlaubt sind, ist eine andere Geschichte.
gruß,
wahsaga
Hi,
Gegenfrage: kann es sein, daß Du 403 mit 401 verwechselst?
Gegenfrage: Hat der Fragesteller von einem Internal Server Error berichtet? ;-)
Cheatah
Hallo,
ich habe ein Problem mit meiner selbsterstellten 403-Fehlerseite auf'm Webspace.
Zuerst mal hier meine .htaccess in verkürzter Form:
[...]
Das ist der komplette Inhalt.
was denn nun, verkürzt oder komplett? ;-)
ErrorDocument 403 http://domain.org/error.php
Okay, dann sendet dein Server im Fehlerfall ein Redirect. Er sagt dem anfragenden Client also, "Was du da willst, hab ich nicht; aber schau mal auf http://domain.org/error.php nach".
Damit fragt der Client also nochmal nach, wird wieder abgewiesen, und das Spiel fängt wieder von vorne an.
Du möchtest als ErrorDocument keine URL angeben, sondern eine absolute, lokale Pfadangabe, damit der Server das intern regeln kann.
So long,
Martin
Hallo,
ich habe ein Problem mit meiner selbsterstellten 403-Fehlerseite auf'm Webspace.
Zuerst mal hier meine .htaccess in verkürzter Form:
[...]
Das ist der komplette Inhalt.was denn nun, verkürzt oder komplett? ;-)
ErrorDocument 403 http://domain.org/error.php
Okay, dann sendet dein Server im Fehlerfall ein Redirect. Er sagt dem anfragenden Client also, "Was du da willst, hab ich nicht; aber schau mal auf http://domain.org/error.php nach".
Damit fragt der Client also nochmal nach, wird wieder abgewiesen, und das Spiel fängt wieder von vorne an.Du möchtest als ErrorDocument keine URL angeben, sondern eine absolute, lokale Pfadangabe, damit der Server das intern regeln kann.
So long,
Martin
Ich glaube, das habe ich verstanden. Allerdings bringt mich "ErrorDocument 403 /var/www/web738/html/error.php" auch nicht weiter ("Additionally, a 403 Forbidden error was encountered while trying to use an ErrorDocument to handle the request.")
hi,
bitte zitiere sinnvoll, und nicht einfach alles.
Allerdings bringt mich "ErrorDocument 403 /var/www/web738/html/error.php" auch nicht weiter ("Additionally, a 403 Forbidden error was encountered while trying to use an ErrorDocument to handle the request.")
Natürlich, wenn du _alle_ Zugriffe verbietest, dann kann auch der Zugriff auf das ErrorDocument nicht erlaubt werden.
Du musst es also vom Verbot ausnehmen, wenn es angezeigt werden soll, wenn der Zugriff auf eine andere Ressource untersagt wurde.
gruß,
wahsaga
hi,
bitte zitiere sinnvoll, und nicht einfach alles.
Alles klar, sorry :)
Du musst es also vom Verbot ausnehmen, wenn es angezeigt werden soll, wenn der Zugriff auf eine andere Ressource untersagt wurde.
Okay, und die Preisfrage: Wie mache ich das?
Okay, und die Preisfrage: Wie mache ich das?
Schmeiss die Error files, die alle missbrauchen dürfen in einen Ordner /abuse
und in htaccess
<FilesMatch "/abuse/">
Order deny,allow
allow from all
</FilesMatch>
Irgendwo müssen wir ja den Geiz überwinden.
Schmeiss die Error files, die alle missbrauchen dürfen in einen Ordner /abuse
und in htaccess
<FilesMatch "/abuse/">
Order deny,allow
allow from all
</FilesMatch>
Auch wenn du mich jetzt vielleicht erschlagen könntest: Es geht immer noch nicht. Ist wie am Anfang auch. Habe jetzt halt in die ersten Zeilen das hier geschrieben:
ErrorDocument 403 /error_handling/error.php
<FilesMatch "/error_handling/">
Order deny,allow
allow from all
</FilesMatch>
Kann es sein, dass das nicht funktioniert, weil ich weiter unten auch nochmal mit <FilesMatch "(.*)"> arbeite? Muss ich da auch noch was verändern?
Kann es sein, dass das nicht funktioniert, weil ich weiter unten auch nochmal mit <FilesMatch "(.*)"> arbeite? Muss ich da auch noch was verändern?
Ja.
Denn du wendest eine Regel auf alle Files an und überschreibst damit die zuvor definierte.
Wenn du eine allgemeine Regel machst für alle Files, dann sollst du diese weder in einen <Files> noch in einen <FilesMatch> Container stellen.
Wenn du eine allgemeine Regel machst für alle Files, dann sollst du diese weder in einen <Files> noch in einen <FilesMatch> Container stellen.
Okay, habe jetzt die andere Files-Regel gelöscht, sodass nur noch die von dir genannte in der .htaccess steht. Geht aber immer noch nicht :(
Hi,
So nebenbei:
Ich habe einen ganz tollen UserAgent in meiner Logs.
Er besteht aus:
zufälligen Buchstaben
einem Leerzeichen,
zufälligen Buchstaben
Leerzeichen
zufälligen Buchstaben.
Und das macht er jedes Mal anders.
Ich hoffe du hast die goldene Regel nicht vergessen:
Sage was du willst, bevor du anfängst zu sagen, was du alles alles alles alles alles ..... (ca 100'000'000 mal) ... alles nicht willst.
mfg Beat
Ich hoffe du hast die goldene Regel nicht vergessen:
Sage was du willst, bevor du anfängst zu sagen, was du alles alles alles alles alles »»..... (ca 100'000'000 mal) ... alles nicht willst.
Wenn das so einfach wäre: Alle Leute sollen drauf, nur halt die Spambots nicht :)
Wenn das so einfach wäre: Alle Leute sollen drauf, nur halt die Spambots nicht :)
Ach so, alle Spammer sollen drauf, bis du rausgefunden hast, dass es ein Spambot ist.
Heisst es schon in der Bibel: Halt die andere Wange hin, damit du weisst dass du eine hast.
Ach so, alle Spammer sollen drauf, bis du rausgefunden hast, dass es ein Spambot ist.
Heisst es schon in der Bibel: Halt die andere Wange hin, damit du weisst dass du eine hast.
Zumindest sollen die bekannten Spambots ausgeschlossen werden.
Hi,
Zumindest sollen die bekannten Spambots ausgeschlossen werden.
die bekannten Spambots heißen z.B. Internet Explorer oder Firefox. Zumindest nach allem, was Du erfahren kannst.
Cheatah