Du befindest Dich im Archiv vom ABAKUS Online Marketing Forum. Hier kannst Du Dich für das Forum mit den aktuellen Beiträgen registrieren.

Regulärer Ausdruck . htaccess

Ajax, Hijax, Microformats, RDF, Markup, HTML, PHP, CSS, MySQL, htaccess, robots.txt, CGI, Java, Javascript usw.
Neues Thema Antworten
S.A. Media
PostRank 1
PostRank 1
Beiträge: 25
Registriert: 04.10.2007, 20:58

Beitrag von S.A. Media » 22.02.2009, 23:54

Abend.

Irgendwie stehe ich auf Kriegsfuss mit den Reguläreren Ausdrücken, egal was ich schon versucht habe, es will nicht klappen.

Die Zeile v. .htaccess :

Code: Alles auswählen

RewriteCond %{REMOTE_HOST}
Wie muss ich diese Zeile syntaktisch richtig vollenden, damit hierbei alle Hotsnamen berücksichtigt werden welche diesen Teil (inklusive der beiden Punkte) in sich beinhalten:

Code: Alles auswählen

 .spamboot. 


Dies sollte dann bspw. bei den Hostnamen "crawl-123.spamboot.com" oder "crawl.etc.spamboot.asia" oder "crawl.spamboot.kr.com" oder "cra-321-wl.spamboot.org.tw" ... etc. greifen.

Danke schön

Gruss
S.A. Media

Anzeige von ABAKUS

von Anzeige von ABAKUS »

SEO Consulting bei ABAKUS Internet Marketing
Erfahrung seit 2002
  • persönliche Betreuung
  • individuelle Beratung
  • kompetente Umsetzung

Jetzt anfragen: 0511 / 300325-0.


Mork vom Ork
PostRank 9
PostRank 9
Beiträge: 2557
Registriert: 08.07.2008, 11:07
Wohnort: Aufm Friedhof.

Beitrag von Mork vom Ork » 23.02.2009, 11:57

S.A. Media hat geschrieben:Wie muss ich diese Zeile syntaktisch richtig vollenden, damit hierbei alle Hotsnamen berücksichtigt werden welche diesen Teil (inklusive der beiden Punkte) in sich beinhalten:

Code: Alles auswählen

 .spamboot. 
Du musst lediglich die Punkte maskieren, da sie im Muster als Platzhalter für ein beliebiges Zeichen stehen.

RewriteCond %{REMOTE_HOST} \.spamboot\.

Dies schließt allerdings Domains ein, in denen .spamboot. woanders als an zweiter bzw. dritter Stelle erscheint, zB bla.spamboot.bla.fasel.duenn.sinn.com. Falls du die auch raushaben willst, wird's etwas komplizierter.

S.A. Media
PostRank 1
PostRank 1
Beiträge: 25
Registriert: 04.10.2007, 20:58

Beitrag von S.A. Media » 23.02.2009, 16:46

Mork vom Ork hat geschrieben:RewriteCond %{REMOTE_HOST} \.spamboot\.
Danke. Leider klappt es immer noch nicht, da die Bedingung ja einfach nicht greift. Woran kann es liegen?
(Mod_rewrite wird ganz sicher vom Server unterstützt.)

Inhalt v. .htaccess

Code: Alles auswählen

RewriteEngine on
RewriteCond %{REMOTE_HOST} \.spamboot\.
RewriteRule ^(.*)$ http://www.abcd.tld/
Mork vom Ork hat geschrieben:Dies schließt allerdings Domains ein, in denen .spamboot. woanders als an zweiter bzw. dritter Stelle erscheint, zB bla.spamboot.bla.fasel.duenn.sinn.com. Falls du die auch raushaben willst, wird's etwas komplizierter.
An welcher Stelle .spamboot. vorkommt ist nebensächlich, es sollen alle Hostnamen die diesen "Ausdruck" enthalten gefiltert werden...


Gruss
S.A. Media
Zuletzt geändert von S.A. Media am 23.02.2009, 17:36, insgesamt 1-mal geändert.

chris21
PostRank 9
PostRank 9
Beiträge: 2758
Registriert: 10.04.2005, 18:17

Beitrag von chris21 » 23.02.2009, 17:06

Hi,

bist Du auch sicher, dass REMOTE_HOST auf Deinem Server aufgelöst wird?

Bei mir z.B. löse ich diesen aufgrund von Performance Überlegungen nicht auf - damit kann er dann aber auch nicht für eine RewriteCond abgefragt werden.

S.A. Media
PostRank 1
PostRank 1
Beiträge: 25
Registriert: 04.10.2007, 20:58

Beitrag von S.A. Media » 23.02.2009, 17:14

chris21 hat geschrieben:bist Du auch sicher, dass REMOTE_HOST auf Deinem Server aufgelöst wird?

Bei mir z.B. löse ich diesen aufgrund von Performance Überlegungen nicht auf - damit kann er dann aber auch nicht für eine RewriteCond abgefragt werden.
Daran habe ich auch schon gedacht...
Aber wie prüfe ich nun, ob der Hostname des Users auch in dem Moment bei .htaccess "ankommt"?
Und wenn doch nicht, wie erreiche ich dies (Shared-Hosting)?


Gruss
S.A. Media
Zuletzt geändert von S.A. Media am 23.02.2009, 17:23, insgesamt 2-mal geändert.

chris21
PostRank 9
PostRank 9
Beiträge: 2758
Registriert: 10.04.2005, 18:17

Beitrag von chris21 » 23.02.2009, 17:21

Bei Shared Hosting wird es in der Regel ausgeschaltet sein - zuständig ist dafür die HostnameLookups Direktive im Apache Core, die nicht über .htaccess steuerbar ist.

Ob HostnameLookups auf on, off oder double gestellt ist, solltest Du z.B. einfach per PHP testen können:

Code: Alles auswählen

echo $_SERVER["REMOTE_HOST"];
Falls sie nicht gesetzt ist, wirst Du auf .htaccess Ebene nur über REMOTE_ADDR mit den IP-Adressen arbeiten können - oder über User Agents, falls die auffällig sind.

S.A. Media
PostRank 1
PostRank 1
Beiträge: 25
Registriert: 04.10.2007, 20:58

Beitrag von S.A. Media » 23.02.2009, 17:41

chris21 hat geschrieben:Bei Shared Hosting wird es in der Regel ausgeschaltet sein - zuständig ist dafür die HostNameLookUps Direktive im Apache Core, die nicht über .htaccess steuerbar ist.

Ob HostNameLookUps auf on, off oder double gestellt ist, solltest Du z.B. einfach per PHP testen können:

Code: Alles auswählen

echo $_SERVER["REMOTE_HOST"];

Ja, danke Dir.
Der Server "sagt":

Code: Alles auswählen

Notice: Undefined index: REMOTE_HOST in /home/www/  ....
chris21 hat geschrieben:Falls sie nicht gesetzt ist, wirst Du auf .htaccess Ebene nur über REMOTE_ADDR mit den IP-Adressen arbeiten können - oder über User Agents, falls die auffällig sind.
Ja, ich verstehe. (:

Interessanterweise klappt es auf demselben Server mittels .htaccess aber tadellos:

Code: Alles auswählen

deny from .spamboot.
Wie kommt es?

Gruss
S.A. Media

chris21
PostRank 9
PostRank 9
Beiträge: 2758
Registriert: 10.04.2005, 18:17

Beitrag von chris21 » 23.02.2009, 18:06

Ach stimmt :)

Deny läuft über mod_access, dafür wird automatisch nen DOUBLE_REV verwendet als wäre HostnameLookups auf Double gesetzt -> siehe 2. Absatz hier: https://httpsd.apache.org/docs/2.0/mod/ ... amelookups

Also solltest Du einfach per Deny from vorgehen - oder gibt es einen Grund, warum Du hier mod_rewrite anstelle von mod_access einsetzen willst?

S.A. Media
PostRank 1
PostRank 1
Beiträge: 25
Registriert: 04.10.2007, 20:58

Beitrag von S.A. Media » 23.02.2009, 18:24

chris21 hat geschrieben:Deny läuft über mod_access, dafür wird automatisch nen DOUBLE_REV verwendet als wäre HostnameLookups auf Double gesetzt
Gut zu wissen.
chris21 hat geschrieben:... oder gibt es einen Grund, warum Du hier mod_rewrite anstelle von mod_access einsetzen willst?
Doch schon. Ich kann über "deny from" ja nichts konkrettes angeben, was danach "geschehen" soll, bin ja sehr beschränkt auf die 403-Fehlermedlung...
Oder irre ich mich da womöglich?

Gruss
S.A. Media

chris21
PostRank 9
PostRank 9
Beiträge: 2758
Registriert: 10.04.2005, 18:17

Beitrag von chris21 » 23.02.2009, 18:39

Hi,

nein, leider wirst Du über mod_access nur den 403 produzieren.

... da könnte dann allenfalls helfen, dass das ErrorDocument des 403er nochmal über php gethostbyaddr() abfragt, ob die 403er Seite von einem spamboot Host erreicht wird und diesen dann per php per Header weiterleiten. Vorteil wäre dabei, dass wenn sonst selten 403er zu erwarten sind, gethostbyaddr() nur selten eingesetzt wird (Server-Performance).

Ansonsten: Über die REMOTE_ADDR, d.h. IP-Nummern, kannst Du das Problem nicht lösen?

S.A. Media
PostRank 1
PostRank 1
Beiträge: 25
Registriert: 04.10.2007, 20:58

Beitrag von S.A. Media » 23.02.2009, 20:35

chris21 hat geschrieben:.... Über die REMOTE_ADDR, d.h. IP-Nummern, kannst Du das Problem nicht lösen?
Doch, sicherlich lässt sich das organisieren.
Ich glaube es wird nicht schwer sein, die zugehörigen IP-Bereiche rauszusuchen und mit REMOTE_ADDR zu "lenken", was ich jetzt auch vorhabe. :wink:

Wichtig ist, dass ich nun weiß, warum es mit REMOTE_HOST trotz allen Bemühungen in .htaccess nicht klappen wollte....

Danke Dir.

Gruss
S.A. Media

Antworten
  • Vergleichbare Themen
    Antworten
    Zugriffe
    Letzter Beitrag