Forum: PC-Programmierung Hilfe bei regulären Ausdrücken


von TK (Gast)


Lesenswert?

Hallo zusammen,
ich versuche mich zum erstem Mal an regulären Ausdrücken.
Hintergrund ist das Blockieren von lästigen Spam-Bots auf meinen
WEB-Seiten. Daher habe ich im Netz eine Sequenz für die .htaccess 
gefunden, mit der man genau diesen Bot blocken kann.
Aber leider scheint die nicht zu funktionieren:
"RewriteEngine on"
"Options +FollowSymlinks"
"RewriteCond %{HTTP_REFERER} ^https?://([^.]+\.)*semalt\.com\ [NC]"
"RewriteRule .* - [F]"
Was ich vorhabe ist, den http://semalt.com bzw. den 
https://23.semalt.com
im Referer auszuschliessen. Die Zahl an der Subdomain kann dabei alles 
zwischen 1 und 99 sein.
Was ist falsch?

Danke
TK

von imon (Gast)


Lesenswert?

regexp entwickelt man! ein rexep tester wie http://regexpal.com/
hilft dabei!

^https?://([^.]+\.)*semalt\.com\
|      ^     ^                  ^
      |     |                  |
      |     |                  hier sagst du das die regxep mit ein 
Space
      |     |                  endet, willst du das ? der \ sagt das 
nachste
      |     |                  zeichen hat keine Sonderbedeutung ist
      |     |                   also ein Leerzeichen
      |     [^.] sagt ein beliebiges Zeichen außer Punkt
      |      +   ein oder mehrere male
      |      \.  gefolgt von einen Punkt.
      |      *   0 oder mehrere male
      sagt das s in https ist Optional.


mein Vorschlag für die rexexp wäre ^https?://.*semalt\.com
Wenn die nicht zu aggressiv matched wäre das die erstmals die große 
Keule
die jede URL welcher auf semalt\.com endet raus filtert.

von TK (Gast)


Lesenswert?

Hallo imon (oder sollte das dann doch Simon heissen?)

ich habe jetzt den letzten Backslash gelöscht (keine Ahnung wieso der
da drin steht). Ich denke dass ich morgen mal die ersten Infos habe, ob
das jetzt geht. Ansonsten kommt dann mal die große Keule zum Einsatz.

Danke erst mal

TK

von TK (Gast)


Lesenswert?

So, der Test hat funktioniert - der Spam-Bot bekommt jetzt eine 403.

TK

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.