Top Xl Support Impressum :: Search :: The newest topics
Register :: Log in

IP Sperre

 
   Top Xl Support Forum Index -> Fehler/Bugs/Verbesserungsvorschläge
View previous topic :: View next topic  
Author Message
urkman



Joined: 10 May 2008
Posts: 7

PostPosted: Sat May 07, 2011 9:11 pm    Post subject: IP Sperre

Hallo,

ich weiß nicht ob das es hier schon gibt, aber ich würde gern etwas haben um bestimmte ip Adressen zu sperren damit keine Seiten von den jenigen eingetragen werden können.

Hintergrund ist, das immer wieder Seiten in Türkischer sprache eingetragen werden obwohl ich in den Rules darauf hingewiesen das seiten in Türkischer sprache noch nicht eingetragen werden können.

Ich habe auch schon Capcha eingeschalten.

mfg
Back to top
View user's profile Send private message
Paddelberg
Site Admin


Joined: 17 Jan 2006
Posts: 797
Location: Worms

PostPosted: Sat May 07, 2011 9:46 pm    Post subject:

Hi

du könntest dir folgenden Code in dei add.php einfügen. (in Zeile 22 nach dem Code $do = safety($_GET["do"]); )

Code:

$ips = '154.58.78.68,154.58,154.58-154.59';
$error_message = '';

function ip_block ($ips, $error_message = false)
   {
   $ips = explode (',', $ips);

   foreach ($ips as $ip)
      {
      # ip range
      if (preg_match ("@(.*)\-(.*)@", $ip, $match))
         {
         if (substr ($_SERVER['REMOTE_ADDR'], 0, strlen ($match[1])) >= $match[1] && substr ($_SERVER['REMOTE_ADDR'], 0, strlen ($match[2])) <= $match[2])
            {
            header("HTTP/1.1 403 Forbidden");
   
            if (!empty ($error_message))
               {echo $error_message;}
            else
               {echo 'Forbidden';}

            exit ();
            }
         }
      
      # ip oder teil
      else
         {
         if (preg_match ("@^".preg_replace ("@\.@", '\\.', $ip)."@", $_SERVER['REMOTE_ADDR']))
            {
            header("HTTP/1.1 403 Forbidden");

            if (!empty ($error_message))
               {echo $error_message;}
            else
               {echo 'Forbidden';}
            
            exit ();
            }
         }
      }
   }

ip_block ($ips, $error_message);


in der Variablen $ips (erste Zeile) kannst du die ips angeben, die gesperrt werden sollen (die, die momentan drin stehen können gelöscht werden)
Die ips müssen dabbei nach Komma getrennt werden
Du kannst entweder einzelne ips angeben (123.123.123.123)
oder ip Ranges
123.123-123.125 -> sperrt alle ips im Bereich 123.123.0.0 - 123.125.255.255
123.123 (sperrt den Bereich von 123.123.0.0 - 123.123.255.255

zusätzlich kannst du eine eigene Fehlemeldung angeben (standard wird Forbidden ausgegeben), indem du in der zweiten Zeile die Variable $error_message mit einem beliebigen Text belegst.

mfg
simon
Back to top
View user's profile Send private message Visit poster's website
Display posts from previous:   
Post new topic   Reply to topic    Top Xl Support Forum Index -> Fehler/Bugs/Verbesserungsvorschläge All times are GMT + 1 Hour
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum