2010-07-02 5 views
10

Ist es möglich, Benutzer von IP-Adressen mit einer dynamischen dateibasierten Blockliste zu blockieren?Dynamische IP .htaccess Blockliste?

So nehme an, die .htaccess wie folgt aussieht:

order Deny,Allow 
Deny from 123.156.0.1 
Deny from 10.0.0.10 
Allow from all 

Kann diese Liste dynamisch gemacht werden, zum Beispiel:

order Deny,Allow 
[include Deny list here] 
Allow from all 

Eine andere Möglichkeit wäre natürlich, es mit PHP zu beheben, aber Es ist vorzuziehen, Apache damit umgehen zu lassen.

Antwort

6

Laut der Apache docs scheint es nicht möglich, Werte aus einer Textdatei zu lesen.

Sie könnten jedoch include eine Konfigurationsdatei mit den IP-Adressen. Sie müssten allerdings im Apache-Conf-Dateiformat vorliegen.

sollte diese Arbeit:

order Deny,Allow 
include conf/IPList.conf 
Allow from all 

Es ist sogar möglich, include ganze Verzeichnisse, obwohl es ist nicht zu empfehlen.

4

Ich verwende die RewriteMap Funktion von Apache RewriteModule als weiße Liste wie folgt aus:

## WHITELIST IPS ## 
RewriteMap ipslist txt:/path/to/whitelist.txt 
RewriteCond %{REMOTE_ADDR} ^(.*)$ 
RewriteCond ${ipslist:%1|black} ^black$ [NC] 
RewriteRule (.*) - [F] 

Mit einigen Optimierungen, könnte man dies eine schwarze Liste machen.

+0

RewriteMap ist ein netter Ansatz, funktioniert aber nur in einem Server- oder virtuellen Hostkontext, d. H. Nicht in .htaccess – Jason

Verwandte Themen