login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Ip block NL en BE

Offline micasa001 - 02/04/2009 23:11
Avatar van micasa001PHP interesse Hoe is het mogelijk om alle bezoekers uit Nederland en Belgie te blokkeren, afgezien van enkele IP adressen?

Heeft iemand hier wellicht een voorbeeld voor?

13 antwoorden

Gesponsorde links
Offline ibmos2warp - 02/04/2009 23:12
Avatar van ibmos2warp PHP interesse Niet.
Offline Martijn1989 - 03/04/2009 00:21 (laatste wijziging 03/04/2009 00:22)
Avatar van Martijn1989 PHP ver gevorderde Wel .. Dit zijn alle ips uit nederland en belgie :

http://www.ipde...es/nl.zone
http://www.ipde...es/be.zone

Misschien wat makkelijker om eens naar dit te kijken :

  1. <?php
  2.  
  3. $country = '';
  4. $IP = $_SERVER['REMOTE_ADDR'];
  5.  
  6. if (!empty($IP)) {
  7. $country = file_get_contents('http://api.hostip.info/country.php?ip='.$IP);
  8. }
  9. ?>


Levert dus NL, daarna kan je kijken of NL of BE de output is en dat blokkeren door middel van PHP.

Klein begin 
Offline ibmos2warp - 03/04/2009 10:03 (laatste wijziging 03/04/2009 10:04)
Avatar van ibmos2warp PHP interesse
Martijn1989 schreef:
Wel .. Dit zijn alle ips uit nederland en belgie :
http://www.ipde...es/nl.zone
http://www.ipde...es/be.zone

Dat zal wel.
Maar heb jij ooit gehoord van Google.be: proxy of Google.be: tor?
Op ip bannen is zinloos en onzin...
Offline ArieMedia - 03/04/2009 10:11
Avatar van ArieMedia Gouden medaille

PHP ver gevorderde
Om eerlijk te zijn denk ik dat je bedoelt dat alleen een paar IP's toegang hebben. Dus niet alleen NL en BE, maar ook FR, ITA ect.

Om bepaalde IP's toegang te geven is het heel simpel...

  1. $goedip = array('192.168.1.2', '192.168.1.4'); // ect...
  2.  
  3. if(in_array($_SERVER['REMOTE_ADDR'], $goedip)) {
  4. echo 'IP is toegestaan';
  5. } else {
  6. die('rot op');
  7. }
Offline micasa001 - 03/04/2009 11:16
Avatar van micasa001 PHP interesse Nee het gaat echt alleen om NL en BE. En ik begrijp dat er met een proxy omheen is te gaan maar het verminderd in ieder geval een deel van de problemen.

Is dit tevens mogelijk om op een of andere wijze in de htaccess te regelen?
Offline Joost - 03/04/2009 11:58
Avatar van Joost PHP expert Jawel, dan moet je de ip-ranges van Martijn1989 alleen toegang geven, wat kan via .htaccess. 

Die lijsten zijn echter nooit helemaal compleet.. Geen 100%.
Offline micasa001 - 03/04/2009 15:25
Avatar van micasa001 PHP interesse Oke dank je wel. En hoe kan ik in de htaccess invoeren dat ik zelf wel toegang krijg met bepaalde IP adressen?
Offline Joost - 03/04/2009 15:28
Avatar van Joost PHP expert Die ook toestaan?
Offline MiST - 03/04/2009 23:48 (laatste wijziging 03/04/2009 23:51)
Avatar van MiST Lid just out of curiosity: waarom BE en NL blocken? 

En voor de informatie. mijn IP zit niet in de lijst zelfs mijn subnet niet tenzij dat dat de IP's van DHCP/DNS servers zijn. maar dan nog...

de IP API werkte wel 
Offline Martijn2008 - 04/04/2009 01:15
Avatar van Martijn2008 PHP beginner Je zou ook aan jouw host kunnen vragen of ze MOD GEOIP op hun server willen installeren? Dan hoef je niet al die ingewikkelde codes te gebruiken? Waarom moeilijk doen, terwijl het zo verdomd eenvoudig kan?
Offline MiST - 04/04/2009 14:29 (laatste wijziging 04/04/2009 14:33)
Avatar van MiST Lid Die mod doet toch ook niets anders dan bij elke request contact zoeken met een server die locatie van het IP geeft? Die provider zal nogal lachen met het extra verkeer... 

of hoe werkt dat precies? ...
Offline Rik - 04/04/2009 18:31
Avatar van Rik Gouden medailleGouden medaille

Crew algemeen
Je kunt het ook heel makkelijk houden:
  1. $aWhitelist = array('127.0.0.1', '192.168.1.0');
  2. $sIp = $_SERVER['REMOTE_ADDR'];
  3. $aAdress = explode('.', gethostbyaddr($sIp));
  4. $sTld = end($aAdress);
  5. if (($sTld !== 'nl' || $sTld !== 'be') && !in_array($sIp, $aWhitelist)) {
  6. die('Access Denied');
  7. }
Natuurlijk niet waterdicht, maar wel een snelle oplossing...
Offline Koen - 04/04/2009 18:53
Avatar van Koen PHP expert
Boukefalos schreef:
Je kunt het ook heel makkelijk houden:[..code..]Natuurlijk niet waterdicht, maar wel een snelle oplossing...


Dan zit je weer met hosts die ".net" als tld gebruiken enzo...
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.377s