Μπλοκάρισμα IP από πρόσβαση στην ιστοσελίδα σας
Εισαγωγή
Πολλές φορές χρειάζεστε να μπλοκάρετε κάποιες IP που χρησιμοποιούν φόρμες επικοινωνίας για να στέλνουν spam ή και ολόκληρες χώρες, για παράδειγμα εάν λαμβάνετε πολλές ψεύτικες παραγγελίες στο e-shop σας από κάποια συγκεκριμένη χώρα. Παρακάτω υπάρχουν οδηγίες για το πώς θα εμποδίσετε συγκεκριμένες IP ή και ολόκληρα δίκτυα στο να επισκεφτούν τις ιστοσελίδες σας.
Οδηγίες
Βήμα 1:
Δημιουργήστε ένα αρχείο με όνομα blocker.php που θα περιλαμβάνει τον παρακάτω κώδικα.
<?php function ipCIDRCheck ($IP, $CIDR) { list ($net, $mask) = explode ("/", $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); ?>
Bήμα 2:
Δημιουργήστε ένα αρχείο με όνομα blocked.txt που θα περιλαμβάνει τις IP σε μορφή IP/CIDR. Στη πρώτη γραμμή βλέπετε πώς μπορείτε να μπλοκάρετε πολλές IP (ανάλογα το CIDR) και στη δεύτερη γραμμή βλέπετε πώς μπορείτε να μπλοκάρετε μια συγκεκριμένη IP (το CIDR είναι 32).
178.146.128.0/17 178.146.184.27/32
Βήμα 3:
Στην αρχή του index.php της ιστοσελίδας σας προσθέστε την εντολή που βλέπετε παρακάτω:
<? include ("./blocker.php"); ?>