Oggi vedremo come creare un semplicissimo ban di ip attraverso l'uso di un database formato da un file di testo, che andrà a contenere gli ip da bloccare.
Gli ip all'interno del file che noi chiameremo "ip_db.txt" dovranno essere sepratati da una virgola e da uno spazio:
ES. 192.168.1.1, 87.149.111.3, 188.156.22.1 ecc.
Fatta questa prima premessa passiamo al codice che ho commentato in modo da farvi capire meglio il funzionamento. Per ogni dubbio o problema potete lasciare commenti infondo.
//IP reale
if (!empty($_SERVER['HTTP_CLIENT_IP'])){
$ip=$_SERVER['HTTP_CLIENT_IP'];
} elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])){
$ip=$_SERVER['HTTP_X_FORWARDED_FOR'];
} else {
$ip=$_SERVER['REMOTE_ADDR'];
}
//file database
$file = "ip_db.txt";
//apro il file
$open=fopen($file,'r');
$contenuto=fread($open,9000);
fclose($open);
//divido ip separati da ,
$contenuto=explode(',',$contenuto);
$i=0;
//messaggio ban
$messaggio_ban='Il tuo '.$ip.' è stato bloccato!';
foreach($contenuto as $ips){
//divido ip sepratati dallo spazio
$ips=explode(' ',$ips);
//confronto gli ip estratti
if($ip==$ips[$i]) {
//blocco
die($messaggio_ban);
$i=0;
} else {
//incremento
++$i;
}
}
...
Supponiamo che in un applicazione o in un sito e-commerce abbiamo la necessità di dover calcolare l'iva in base al prezzo di un prodotto. Per calcolare l'iva con ciò che passa tra le variabili utilizzando questo metodo:
$prezzo=230; $iva=20; $tot_iva = $prezzo * ($iva / 100); $prezzo_no_iva = $prezzo - $tot_iva; echo 'Prezzo IVA esclusa: € '.$prezzo_no_iva; echo 'Prezzo + IVA al '.$iva.'%: € '.$prezzo;
IL RISULTATO SARÀ:
Prezzo IVA esclusa: € 184
Prezzo + IVA al 20%: € 230