kostenloser Webspace werbefrei: lima-city


Suche auf lima-city

  • in: Umleitung für bestimmte IP-Ranges ?

    geschrieben von alg

    Hallo
    ok, das ip2long() für die $userip hatte ich vergessen

    habe jetzt vor die foreach() Schleife noch eingefügt:

    $userip = ip2long($userip); 
    if (FALSE === $userip) { break; return false; } // --- ipv6


    aber auch damit geht es nicht ... es werden immer alle IPs umgeleitet ?!

    ... EDIT

    Fehler gefunden, die IP-Ranges sind falsch definiert
    $ip_ranges = array( 
    	array(	'5.255.253.0', 		'5.255.253.255'		), 
    	array(	'220.181.108.0', 	'220.181.108.255'	), 
    );


    ein Bereich
    .000
    gibt es nicht, es geht von .0 bis .255
    also nicht 3 mal 0 (Null) als Block, eintsllige auch nur eine Ziffer ... 0,1,2,3, ... 9


    zu ipv6 und Sinn
    ... es muss doch auch in Zukunft möglich sein, bestimmte ips zu blocken
    oder just-in-time die Herkunft einer IP-Adresse zu ermitteln ?! (geoip / ip2loc)


    meine Webseite richtet sich nur an deutsch-sprachiges Publikum
    da will ich Aufrufe z.B. aus China, Russland, Brasilien, etc. umleiten
    denn laut meiner log-Datei und ein bischen Recherch waren fast alle IPs
    aus den besagten Ländern nur "böse" Bots (Spam / Email-Klau / Traffic ...)

    wenn diese "Neuen" ipv6 Adrssen so viel dynamischer sind,
    wird es dann noch Listen / sowas wie geoip / ip2loc geben ???

    PS: wie ich das sehe, arbeitet www.blocklist.de ... etc auch mit ipv4
    oder auch www.stopforumspam.com ... wie ist es fa mit ipv6 ?
  • in: Umleitung für bestimmte IP-Ranges ?

    geschrieben von alg

    Hallo

    ich möchte bei Aufruf meiner Webseite durch bestimme IP-Ranges
    auf eine andere Seite umleiten, das klappt aber nicht ?!?

    also habe im BSP Code mal zwei IP-Ranges rein,
    nur wenn Besucher innerhalb dieser IP-Ranges ist, soll umgeleitet werden

    ABER ... ich werde auch mit allen anderen IPs umgeleitet
    keine Anhnung warum, habe doch eine Bedingung if (...)
    damit nur User umgeleitet werden, die in der definierten IP-Ranges sind

    was mache ich falsch ?!

    hier mein Code
    <?php 
    // ------------------------------------------------------ 
    
    $ip_ranges = array( 
    	array(	'5.255.253.000', 	'5.255.253.255'		), 
    	array(	'220.181.108.000', 	'220.181.108.255'	), 
    ); 
    
    // ------------------------------------------------------ 
    
    $userip = $_SERVER['REMOTE_ADDR']; 
    
    $location = 'umleitungseite.php'; 
    
    // ------------------------------------------------------ 
    
    function ipRangeRedir ($ip_ranges, $userip, $location) { 
    	
    	foreach($ip_ranges as $irange) { 
    		
    		$range_rlow = ip2long($irange[0]);
    		$range_high = ip2long($irange[1]);
    		
    		if ($range_rlow <= $userip && $userip <= $range_high) { 
    			
    			header ('HTTP/1.1 301 Moved Permanently'); 
    			header ('Location: '.$location); 
    			
    		}
    		else { 
    			// --- do something else ----
    		}
    	
    	}
    	
    	return true; 
    
    }
    
    
    
    // ------------------------------------------------------ 
    
    
    $run = ipRangeRedir($ip_ranges, $userip, $location); 
    
    
    // ------------------------------------------------------ 
    ?>



    ... was mache ich falsch ?!
    ... bzw wie (richtig) Umleitung nur für vor-definierte IP-Ranges machen ?

    Danke

    EDIT ... und Wichtig ... wie macht man das es auch mit IPv6 Adressen funktioniert ?!

Login zum Webhosting ohne Werbung!