MyBB.de Forum
IP Begrenzer - Druckversion

+- MyBB.de Forum (https://www.mybb.de/forum)
+-- Forum: Anpassungen (https://www.mybb.de/forum/forum-47.html)
+--- Forum: Plugin-Veröffentlichungen und -Support (https://www.mybb.de/forum/forum-82.html)
+--- Thema: IP Begrenzer (/thread-20483.html)



IP Begrenzer - MyBB.de Bot - 12.07.2008

Eine neue Erweiterung wurde veröffentlicht: IP Begrenzer

Zitat:Begrenzt den Zugriff zum Forum auf bestimmte IP-Adressen und/oder IP-Bereiche.

Um IP Begrenzer zu installieren, lade die extrahierte Datei in das inc/plugin Verzeichnis hoch und aktiviere das Plugin über das Admin-Control-Panel.



RE: IP Begrenzer 1.0.1 - RII - 11.08.2009

Ich habe versucht die Funktion so zu ändern damit nur ein Forum begrenzt wird
irgendwo habe ich ein Fehler gemacht, hat jemand eine Ahnung:

original:
PHP-Code:
        if(is_array($restrictedips))
    {
        foreach(
$restrictedips as $key => $restrictedip)
        {
            
$restrictedip trim($restrictedip);
            if(
$restrictedip != '')
            {
                if(!
strstr($_SERVER['REMOTE_ADDR'], $restrictedip))
                {
                    ++
$count;
                }
            }
        }
        if(
$count == count($restrictedips))
        {
            die(
"Your IP Address Does not match that of one needed to gain access to this forum.");
        }
    } 

Meine Änderung:
PHP-Code:
    if(is_array($restrictedips))
    {
        foreach(
$restrictedips as $key => $restrictedip)
        {
            
$restrictedip trim($restrictedip);
            if(
$restrictedip != '')
            {
                if(!
strstr($_SERVER['REMOTE_ADDR'], $restrictedip))
                {
                    ++
$count;
                }
            }
        }
        if(
$count == count($restrictedips) and $forum['fid'] == '55')
        {
            die(
"Your IP Address Does not match that of one needed to gain access to this forum.");
        }
    } 



RE: IP Begrenzer 1.0.1 - StefanT - 11.08.2009

Das Plugin wirkt doch global? Da kannst du nicht mit $forum arbeiten.


RE: IP Begrenzer 1.0.1 - RII - 12.08.2009

Hallo Stefan,

stimmt und damit hast du mir sehr geholfen
so geht es:
PHP-Code:
        global $forum,$mybb,$db;

$fid=intval($mybb->input['fid']);
    
$forum=$db->fetch_array($db->simple_select("forums","*","fid='$fid'"));
    
    
$restrictedips explode(","$mybb->settings['rtipadresses']);
    
    if(
is_array($restrictedips))
    {
        foreach(
$restrictedips as $key => $restrictedip)
        {
            
$restrictedip trim($restrictedip);
            if(
$restrictedip != '')
            {
                if(!
strstr($_SERVER['REMOTE_ADDR'], $restrictedip))
                {
                    ++
$count;
                }
            }
        }
        if(
$count == count($restrictedips) and $forum['fid'] == '55')
        {
            die(
"Your IP Address Does not match that of one needed to gain access to this forum.");
        }
    }    


DankeWink
RII


RE: IP Begrenzer 1.0.1 - StefanT - 12.08.2009

Erstmal müsste man das Forum ja finden... Warm benutzt du nicht gleich $mybb->input['fid']? Das Query ist doch überflüssig. Wenn du es global als $forum speicherst, überschreibst du übrigens auch MyBB-Variablen, die so heißen.


RE: IP Begrenzer 1.0.1 - RII - 12.08.2009

wie meinst du dass mit dem Forum finden?
mit $mybb->input['fid'] ging es nicht!
Ich habe gemerkt dass man die Threads trotzdem anklicken konnte, so klappt es besser:
PHP-Code:
        global $forum,$mybb,$db;
    
$fid=intval($mybb->input['fid']);
    
$tid=intval($mybb->input['tid']);
    if (
$tid)
    {
        
$getInfo=$db->fetch_array($db->query("SELECT fid FROM ".TABLE_PREFIX."posts WHERE tid='$tid'"));
        
$fid=$getInfo['fid'];
}
if (
$_GET['id'])
{
    
$id=intval($_GET['id']);
    
$getInfo=$db->fetch_array($db->query("SELECT fid FROM ".TABLE_PREFIX."posts WHERE tid='$id'"));
        
$fid=$getInfo['fid'];
}
if (
$forum['fid'])
{
    
$fid=$forum['fid'];
}

$forum=$db->fetch_array($db->simple_select("forums","*","fid='$fid'"));
    
    
$restrictedips explode(","$mybb->settings['rtipadresses']);
    
    if(
is_array($restrictedips))
    {
        foreach(
$restrictedips as $key => $restrictedip)
        {
            
$restrictedip trim($restrictedip);
            if(
$restrictedip != '')
            {
                if(!
strstr($_SERVER['REMOTE_ADDR'], $restrictedip))
                {
                    ++
$count;
                }
            }
        }
        if(
$count == count($restrictedips) and $forum['fid'] == 'XY)
        {
            header("Location: http://www.xxxxxxx.tld/forum-XY.html");
        }
    } 
Die Überschreibung ist nicht so wichtig oder?

L.G
RII