Seite 1 von 1
.ru-Referrer mit rewrite abwehren klappt nicht
Verfasst: 06.08.2011, 14:22
von multiple
Hier mein Code, mit dem ich diese blöden Referrer Spamer aus der Statistik kriegen wollte:
RewriteEngine on
RewriteCond %{HTTP_REFERER} ^.*\.ru$ [NC,OR]
RewriteCond %{HTTP_REFERER} ^.*porno.*$ [NC,OR]
RewriteCond %{HTTP_REFERER} ^.*sex.*$ [NC]
RewriteRule .* - [F,L]
Das klappt mit den Fortpflanzungsbegriffen auch wunderbar, nur die Russen werd ich nicht los. Was mach ich falsch?
Verfasst:
von
SEO Consulting bei
ABAKUS Internet Marketing Erfahrung seit 2002
- persönliche Betreuung
- individuelle Beratung
- kompetente Umsetzung
Jetzt anfragen:
0511 / 300325-0.
Verfasst: 06.08.2011, 14:24
von chris21
Vll. ist das Problem, dass direkt nach der TLD abschneidest als Bedingung?
Damit erreichst Du zwar example.ru, aber nicht example.ru/ oder example.ru/abc
Verfasst: 06.08.2011, 18:12
von multiple
chris21 hat geschrieben:Vll. ist das Problem, dass direkt nach der TLD abschneidest als Bedingung?
Damit erreichst Du zwar example.ru, aber nicht example.ru/ oder example.ru/abc
Nee, leider nicht, example.ru kommt auch durch.
Verfasst: 06.08.2011, 18:31
von Synonym
Also ich würde mal sagen, dass chris da recht hat. Bei den anderen ist das Ende ".*", also beliebig. Bei den Russen ist es aber exakt .ru... Kommt die Anfrage aber mit .ru/, dann greift die Cond nicht.
Und eine Anfrage mit .ru alleine gibt es nicht, die ist immer .ru/ , also kann das so nicht gehen. Zumindest würde ich das so sagen
RewriteCond %{HTTP_REFERER} ^.*porno.*$ [NC,OR]
Also alles was beliebig anfängt, porno enthält und beliebig aufhört.... Wie erkennt man denn das Ende oder den Anfang von "beliebig"? Würde daher so auch funktionieren:
RewriteCond %{HTTP_REFERER} porno [NC,OR]
Selbiges bei "sex"
Beim .ru, also punktRU könnte man es auch so schreiben:
RewriteCond %{HTTP_REFERER} \.ru [NC,OR]
Greift also auf alles, was die Zeichenfolge ".ru" enthält und ist daher analog zu "^.*\.ru.*$"
Verfasst: 06.08.2011, 18:47
von chris21
RewriteCond %{HTTP_REFERER} \.ru [NC,OR]
Dann würde aber z.B. www . rudern .de auch gesperrt werden.
Besser vll.:
RewriteCond %{HTTP_REFERER} ^.*\.ru(/.*)?$ [NC,OR]
Dies greift bei www. rudern .de o.ä. nicht, jedoch bei example.ru example.ru/ und example.ru/example
Verfasst: 06.08.2011, 21:44
von Synonym
Dann würde aber z.B. www . rudern .de auch gesperrt werden.
Das ist korrekt. Wollte ich bezüglich dem Sex auch schon schreiben, gibt da ja auch genug andere Wörter, wo die drei Zeichen in Folge vorkommen.
Verfasst: 06.08.2011, 21:49
von chris21
Auch wieder wahr.
Verfasst: 07.08.2011, 09:47
von multiple
Danke bis hier hin, ich probier mal die zusätzliche Klammer bei .ru aus. Die Kollateralschäden bei *sex* kann ich verkraften;-)
Nachtrag: Nachdem nun zwei Tage lang Ruhe an der "Front" ist, hat's wohl hingehauen mit der zusätzlichen Klammer. Besten Dank!