Εργαλεία Χρήστη

Εργαλεία ιστότοπου


ip-block
no way to compare when less than two revisions

Σύγκριση εκδόσεων

Εδώ βλέπετε τις διαφορές μεταξύ της επιλεγμένης έκδοσης και της τρέχουσας έκδοσης της σελίδας.


Επόμενη αναθεώρηση
ip-block [2016/12/19 19:52] – δημιουργήθηκε admin
Γραμμή 1: Γραμμή 1:
 +====== Μπλοκάρισμα IP από πρόσβαση στη ιστοσελίδα σας ======
  
 +----
 +
 +===== Εισαγωγή =====
 +
 +Πολλές φορές χρειάζεστε να μπλοκάρετε κάποιες IP που χρησιμοποιούν φόρμες επικοινωνίας για να στέλνουν spam ή και ολόκληρες χώρες, για παράδειγμα εάν λαμβάνετε πολλές ψεύτικες παραγγελίες στο e-shop σας από κάποια συγκεκριμένη χώρα. Παρακάτω υπάρχουν οδηγίες για το πώς θα εμποδίσετε συγκεκριμένες IP ή και ολόκληρα δίκτυα στο να επισκεφτούν τις ιστοσελίδες σας.
 +
 +===== Οδηγίες =====
 +
 +**Βήμα 1:**
 +
 +Δημιουργήστε ένα αρχείο με όνομα blocker.php που θα περιλαμβάνει τον παρακάτω κώδικα.
 +
 +<code>
 +<?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);
 + 
 +?>
 +</code>
 +
 +**Bήμα 2:**
 +
 +Δημιουργήστε ένα αρχείο με όνομα blocked.txt που θα περιλαμβάνει τις IP σε μορφή IP/CIDR. Στη πρώτη γραμμή βλέπετε πώς μπορείτε να μπλοκάρετε πολλές IP (ανάλογα το CIDR) και στη δεύτερη γραμμή βλέπετε πώς μπορείτε να μπλοκάρετε μια συγκεκριμένη IP (το CIDR είναι 32).
 +
 +<code>
 +178.146.128.0/17
 +178.146.184.27/32
 +</code>
 +
 +**Βήμα 3:**
 +
 +Στην αρχή του index.php της ιστοσελίδας σας προσθέστε την εντολή που βλέπετε παρακάτω:
 +
 +<code>
 +<?
 +include ("./blocker.php");
 +?>
 +</code>

CRETAFORCE E.E. - Αρ. Γ.Ε.ΜΗ: 159980803000 - Τηλ: (+30) 211 800 2580