c'e' solo un modo di fare le cose: farle bene
Avevo la necessità di permettere l’accesso ad un determinato virtual host di Apache solo ad utenti italiani, ho risolto con mod_geoip.
Ecco come installarlo:
apt-get install libapache2-mod-geoip
Per la configurazione del modulo è necessario editare il file
/etc/apache2/mods-available/geoip.conf
e decommentare la riga:
GeoIPDBFile /usr/share/GeoIP/GeoIP.dat
Salviamo questo file ed editiamo il file di configurazione del virtual-host aggiungendo questa specifica:
SetEnvIf GEOIP_COUNTRY_CODE <codice_del_paese> AllowCountry
E le policy di accesso:
Order Deny,Allow
Deny from all
Allow from env=AllowCountry
Scarichiamo l’ultima versione del database contenente gli IP tramite wget:
wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz
Salviamo il file nella directory:
/usr/share/GeoIP/
Eliminiamo il file vecchio:
rm GeoIP.dat
Mettiamo il nuovo:
gunzip GeoIP.dat.gz
Riavviamo Apache:
/etc/init.d/apache2 restart
e solo la nazione a voi simpatica accederà al sito!:)
Il modulo GeoIP è usabile anche all’interno di PHP:
<?php
$country_name = apache_note("GEOIP_COUNTRY_NAME");
$country_code = apache_note("GEOIP_COUNTRY_CODE");
print "Nazione: " . $country_name . " - Codice nazione: ".$country_code;
?>
Per maggiori informazioni ralative a mod_geoip potete consultare questa pagina.
RT @lddio: La mafia teme più la scuola della giustizia. L'istruzione toglie erba sotto i piedi della cultura mafiosa. (A. Caponnetto, 19 ... [gianlucagentile]
RT @gzaffagnini: @riotta Dio accolga coloro che lo #Stato non riesce a proteggere [gianlucagentile]
RT @donati_giacomo: Solo delle Merde possono piazzare una bomba davanti una scuola! #brindisi [gianlucagentile]
Powered by Lifestream.
| L | M | M | G | V | S | D |
|---|---|---|---|---|---|---|
| « nov | ||||||
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 | 31 | |||
Leave a reply