Εισαγωγή

Πολλές φορές χρειάζεστε να μπλοκάρετε κάποιες IP που χρησιμοποιούν φόρμες επικοινωνίας για να στέλνουν spam ή και ολόκληρες χώρες, για παράδειγμα εάν λαμβάνετε πολλές ψεύτικες παραγγελίες στο e-shop σας από κάποια συγκεκριμένη χώρα. Παρακάτω υπάρχουν οδηγίες για το πώς θα εμποδίσετε συγκεκριμένες IP ή και ολόκληρα δίκτυα στο να επισκεφτούν τις ιστοσελίδες σας.

Βήμα 1

Δημιουργήστε ένα αρχείο με όνομα blocker.php που θα περιλαμβάνει τον παρακάτω κώδικα.

View source
<?php
 
function ipCIDRCheck ($IP, $CIDR) {
list ($net, $mask) = split ("/", $CIDR);
 
$ip_net = ip2long ($net);
$ip_mask = ~((1 << (32 - $mask)) - 1);
 
$ip_ip = ip2long ($IP);
 
$ip_ip_net = $ip_ip & $ip_mask;
 
if ($ip_ip_net == $ip_net)
return true;
else
return false;
}
 
$fh = fopen("blocked.txt", "r");
 
while(true)
{
$line = fgets($fh);
if($line == null)break;
 
if(ipCIDRCheck ($_SERVER['REMOTE_ADDR'], "$line"))
{
echo "You are now allowed to view this page.";
die();
}
}
 
fclose($fh);
 
?>

Βήμα 2

Δημιουργήστε ένα αρχείο με όνομα blocked.txt που θα περιλαμβάνει τις IP σε μορφή IP/CIDR. Στη πρώτη γραμμή βλέπετε πώς μπορείτε να μπλοκάρετε πολλές IP (ανάλογα το CIDR) και στη δεύτερη γραμμή βλέπετε πώς μπορείτε να μπλοκάρετε μια συγκεκριμένη IP (το CIDR είναι 32).

View source
178.146.128.0/17
178.146.184.27/32

Βήμα 3

Στην αρχή του index.php της ιστοσελίδας σας προσθέστε την εντολή που βλέπετε παρακάτω:

View source
<?
include ("./blocker.php");
?>

Επίλογος

Για οποιαδήποτε πληροφορία για τη χρήση της εφαρμογής αυτής ή για περισσότερες πληροφορίες για τη μορφή που πρέπει να γράφετε τις διευθύνσεις (IP/CIDR) μπορείτε να επικοινωνήσετε με το τμήμα τεχνικής υποστήριξης.