Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Jojo alter Rang

Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 06.06.2007, 14:18 Titel: [gelöst] Regex-Problem |
|
|
Hi,
in meiner .htaccess möchte ich Referrer-Angaben filtern, dabei sollen bestimmte URLs zugriff auf Dateien erhalten, andere dagegen nicht.
Google Cache kommt über eine IP-Adresse auf die seiten (http://zahl.zahl.zahl.zahl/blabalblalba), diese Variante sollte auch erlaubt sein. Mein Regex-Code dazu sieht wie folgt aus:
Code: |
SetEnvIfNoCase Referer ^http\:\/\/^\.^\.^\.^\/* !Verboten
|
Irgendwie funktioniert das aber nicht... Was ist da falsch?
Den Regex-Coach kann ich nicht nehmen, weil der sich einfach nicht starten lässt...
edit: thx @ misterD für die schnelle hilfe  _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
 |
|
Nach oben |
|
 |
csde_rats

Anmeldungsdatum: 07.01.2007 Beiträge: 2292 Wohnort: Zwischen Sessel und Tastatur
|
|
Nach oben |
|
 |
Jojo alter Rang

Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 06.06.2007, 14:47 Titel: |
|
|
als ob's jemanden interessieren würde
Code: | ^http\:\/\/(\d{1,3}\.){3}\d{1,3}/.*$ |
_________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
 |
|
Nach oben |
|
 |
nemored

Anmeldungsdatum: 22.02.2007 Beiträge: 4704 Wohnort: ~/
|
Verfasst am: 06.06.2007, 14:49 Titel: |
|
|
Oje, diese regulären Expressionen, wäre ich froh, wenn ich die beherschen würde ...
Die ^ kommen mir seltsam vor. Die suchen nach dem Stringanfang, der an dieser Stelle gar nicht vorkommen kann (oder negieren eine Klasse, aber es steht ja nicht in einer Klasse).
Vielleicht mal so: ^http\:\/\/\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\/.*$
Ob es funktioniert, weiß ich nicht, aber was ich mir dabei gedacht habe:
^http\:\/\/ sucht nach http:// am Zeilenanfang
\d{1,3}\. sucht nach 1-3 Ziffern gefolgt von einem Punkt
\/.*$ sucht nach Slash gefolgt von beliebiger Zeichenkette, bis zum Zeilenende.
edit: na siehste, war ich gar nicht sooo schlecht.  _________________ Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1.
Zuletzt bearbeitet von nemored am 06.06.2007, 14:57, insgesamt einmal bearbeitet |
|
Nach oben |
|
 |
Jojo alter Rang

Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 06.06.2007, 14:49 Titel: |
|
|
jaja, das weiß ich inzwischen alles  _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
 |
|
Nach oben |
|
 |
nemored

Anmeldungsdatum: 22.02.2007 Beiträge: 4704 Wohnort: ~/
|
Verfasst am: 06.06.2007, 14:57 Titel: |
|
|
Wenn ihr mir auch gar keine Zeit zum Nachdenken lasst
edit: was mich verwundert - muss der letzte Slash gar nicht escaped werden? _________________ Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1. |
|
Nach oben |
|
 |
Jojo alter Rang

Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 06.06.2007, 15:06 Titel: |
|
|
misteD meint, man muss die slahes gar nicht escapen, weil die keine bedeutung haben. ich hab die bei http:// selsbt escaped^^ _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
 |
|
Nach oben |
|
 |
MisterD

Anmeldungsdatum: 10.09.2004 Beiträge: 3071 Wohnort: bei Darmstadt
|
Verfasst am: 06.06.2007, 22:36 Titel: |
|
|
slashs haben keine bedeutung, colons bzw doppelpunkte auch nicht.. man muss wirklich nur escapen was ansonsten ne andere bedeutung hat.
^http://\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}/.*$
so reicht das auch  _________________ "It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
Edsger W. Dijkstra |
|
Nach oben |
|
 |
|