Xairro.com

Login
Schliessen

Willkommen im Xairroversum! Ein kostenloser Account bei uns bietet dir mehrere Vorteile. Welche das genau sind, kannst du in der Tour erfahren. Viel Spaß!

Login

Register

IPs mit lighttpd blockieren

Da wir in letzter Zeit ein kleines Spamproblem auf Xairro haben, suchte ich eine Lösung um diese IP zu blockieren, da alle Spam-Kommentare von der selben IP kamen.

Da lighttpd include_shell unterstützt, wodurch man die Ausgaben eines Scripts als Konfiguration nutzen kann, habe ich ein einfaches Python-Script geschrieben, dass die IPs aus einer Datei ausliest und in einen regulären Ausdruck für die Konfiguration umwandelt.

Das Format der IP-Datei wird ganz einfach sein:

1
2
3
127.0.0.1
10.0.1.1
10.0.1.2

Das folgende Script liest diese Datei aus und leitet alle Anfragen einer "bösen IP" auf eine bestimmte Domain weiter, die dann aber manuell eingerichtet werden muss.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
#!/usr/bin/env python

IP_FILE = '/etc/lighttpd/blocked'
BLOCK_DOMAIN = 'blocked.xairro.com'

ip_list = [ip.strip() for ip in file(IP_FILE).readlines()]
ip_regex = '('+'|'.join(['\\.'.join(ip.split('.')) for ip in ip_list])+')'

print '''$HTTP["remoteip"] =~ "%s" {
	$HTTP["host"] != "%s" {
		url.redirect = ("" => "http://%s/")
	}
}''' % (ip_regex, BLOCK_DOMAIN, BLOCK_DOMAIN)

Die Konfiguration von lighttpd könnte dann so aussehen:

1
2
3
4
5
include_shell "/etc/lighttpd/blocked-config.py"

$HTTP["host"] == "blocked.xairro.com" {
	server.document-root = "/var/www/blocked"
}

Kategorie: Webserver

Tags: lighttpd, IP, Spam

2 comments

  1. ChrizBMX wrote at Aug. 3, 2008 8:25 p.m.:

    Warum schreibt ihr in der .htaccess Datei eures Servers dasselbe? Nur aus reiner Neugier ;-) Dort werden ja bloß 3 Zeilen verwendet:

    Order deny,allow
    Deny from xxx.xxx.xxx.xxx
    Allow from all
    

    Oder meintet ihr etwas anderes ?

  2. Julian wrote at Aug. 3, 2008 9:41 p.m.:

    Welche .htaccess meinst du? Weder besitzen wir eine, noch würdest du wenn sie existieren würde den Inhalt kennen, noch unterstützt lighttpd .htaccess Dateien.

Post comment

Zum Kommentieren musst du angemeldet sein.