[PHP] Alleen NL en BE IPs toestaan..

Gestart doorOne2xs15 reacties10 weergaven

16 berichten · pagina 1 van 2

One2xs

Bot · Topicstarter

Berichten
93.699
Reputatie
0
Punten
1,27
Lid sinds
Laatst gezien
Hoi,

Heb jij er ook zo last van;
Iemand bannen die vervolgens op een proxy terug komt?

Omdat 90% van de gebruikte proxys uit het buitenland komt (Buiten NL & BE) gewoon een simpele functie die kijkt of je vanaf een NL / BE IP adres de website bezoekt, of via een ander adres:

Met de php functie gethostbyaddr() wordt een landcode meegestuurd, deze kan je dus middels die functie opvragen en controleren of dat NL of BE is smile.

[COLOR= #0000BB]<?php[/COLOR]
[COLOR= #007700]function[/COLOR] land[COLOR= #007700]([/COLOR][COLOR= #0000BB]$ip[/COLOR][COLOR= #007700])
{[/COLOR]
    [COLOR= #0000BB]$landCodes[/COLOR] [COLOR= #007700]=[/COLOR] [URL="http://www.php.net/array"]array[/URL] [COLOR= #007700]([/COLOR]
        [COLOR= #DD0000]"nl"[/COLOR] [COLOR= #007700]=>[/COLOR] [COLOR= #DD0000]"nederland"[/COLOR][COLOR= #007700],[/COLOR]
        [COLOR= #DD0000]"be"[/COLOR] [COLOR= #007700]=>[/COLOR] [COLOR= #DD0000]"belgie"[/COLOR][COLOR= #007700],
    );[/COLOR]
    [COLOR= #0000BB]$gethostbyaddr[/COLOR] [COLOR= #007700]=[/COLOR] [URL="http://www.php.net/gethostbyaddr"]gethostbyaddr[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$ip[/COLOR][COLOR= #007700]);[/COLOR]
    [URL="http://www.php.net/if"]if[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$gethostbyaddr[/COLOR] [COLOR= #007700]==[/COLOR] [COLOR= #0000BB]$ip[/COLOR][COLOR= #007700])
    {[/COLOR]
        [URL="http://www.php.net/return"]return[/URL] [COLOR= #DD0000]"onbekend"[/COLOR][COLOR= #007700];
    }[/COLOR]
    [COLOR= #0000BB]$explode[/COLOR] [COLOR= #007700]=[/COLOR] [URL="http://www.php.net/explode"]explode[/URL][COLOR= #007700]([/COLOR][COLOR= #DD0000]"."[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]$gethostbyaddr[/COLOR][COLOR= #007700]);[/COLOR]
    [URL="http://www.php.net/foreach"]foreach[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$explode[/COLOR] [COLOR= #007700]as[/COLOR] [COLOR= #0000BB]$key[/COLOR][COLOR= #007700])
    {[/COLOR]
        [COLOR= #0000BB]$ext[/COLOR] [COLOR= #007700]=[/COLOR] [COLOR= #0000BB]$key[/COLOR][COLOR= #007700];
    }[/COLOR]
    [COLOR= #0000BB]$land[/COLOR] [COLOR= #007700]=[/COLOR] [COLOR= #0000BB]$landCodes[/COLOR][COLOR= #007700][[/COLOR][COLOR= #0000BB]$ext[/COLOR][COLOR= #007700]];[/COLOR]
    [URL="http://www.php.net/if"]if[/URL][COLOR= #007700]([/COLOR][URL="http://www.php.net/empty"]empty[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$land[/COLOR][COLOR= #007700]))
    {[/COLOR]
        [COLOR= #0000BB]$land[/COLOR] [COLOR= #007700]=[/COLOR] [COLOR= #DD0000]"onbekend"[/COLOR][COLOR= #007700];
    }[/COLOR]
    [URL="http://www.php.net/if"]if[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$land[/COLOR] [COLOR= #007700]==[/COLOR] [COLOR= #DD0000]nederland[/COLOR] [COLOR= #007700]||[/COLOR] [COLOR= #0000BB]$land[/COLOR] [COLOR= #007700]==[/COLOR] [COLOR= #DD0000]belgie[/COLOR][COLOR= #007700])
    {[/COLOR]
        [URL="http://www.php.net/return"]return[/URL] true[COLOR= #007700];
    }[/COLOR]
    [URL="http://www.php.net/else"]else[/URL]
    [COLOR= #007700]{[/COLOR]
        [URL="http://www.php.net/return"]return[/URL] false[COLOR= #007700];
    }
}[/COLOR]
?>


Hoe je hem gebruikt:

[COLOR= #0000BB]<?php[/COLOR]
[URL="http://www.php.net/if"]if[/URL][COLOR= #007700]([/COLOR]land[COLOR= #007700]([/COLOR][COLOR= #0000BB]$_SERVER[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]REMOTE_ADDR[/COLOR][COLOR= #007700]]))
{[/COLOR]
    [URL="http://www.php.net/echo"]echo[/URL] [COLOR= #DD0000]Jij woont in NL of BE[/COLOR][COLOR= #007700];
}[/COLOR]
[URL="http://www.php.net/else"]else[/URL]
[COLOR= #007700]{[/COLOR]
    [URL="http://www.php.net/echo"]echo[/URL] [COLOR= #DD0000]Jij woont niet in NL of BE[/COLOR][COLOR= #007700];
}[/COLOR]
?>


Tada smile
0
Berichten
5.897
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Bij mij werkt dit niet sadleyIk woon in België maar ik word niet gezien als belg.
0
One2xs

Bot · Topicstarter

Berichten
93.699
Reputatie
0
Punten
1,27
Lid sinds
Laatst gezien
Ook ik zit vaak onvrijwillig achter een proxy. er zijn er vast meer die dat hebben
0
One2xs

Bot · Topicstarter

Berichten
93.699
Reputatie
0
Punten
1,27
Lid sinds
Laatst gezien
Sevvlor schreef:
Ook ik zit vaak onvrijwillig achter een proxy. er zijn er vast meer die dat hebben
Dus?

toevoeging op 15 mei 2012, 18:31:40:
Dan download je maar een fatsoenlijke browser sm_eerie.

toevoeging op 15 mei 2012, 18:32:00:
Maartenl schreef:
Bij mij werkt dit niet sadleyIk woon in België maar ik word niet gezien als belg.
Moet je even je IP traceren kijken wat je krijgt.
0
One2xs

Bot · Topicstarter

Berichten
93.699
Reputatie
0
Punten
1,27
Lid sinds
Laatst gezien
Xjessex schreef:
Eerdere citaten tonen
Sevvlor schreef:
Ook ik zit vaak onvrijwillig achter een proxy. er zijn er vast meer die dat hebben
Dus?

toevoeging op 15 mei 2012, 18:31:40:
Dan download je maar een fatsoenlijke browser sm_eerie.

toevoeging op 15 mei 2012, 18:32:00:
Eerdere citaten tonen
Maartenl schreef:
Bij mij werkt dit niet sadleyIk woon in België maar ik word niet gezien als belg.
Moet je even je IP traceren kijken wat je krijgt.
Ik zit gewoon achter chrome maar ik ga op internet via een proxy; ook niet altijd maar op bepaalde locaties waar ik veel ben wel.

Echt verstandig lijkt me het niet maarja
0
Berichten
5.795
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Deze manier is wel onhandig.
Je kunt ook gebruik maken van zogeheten ip2country databases zoals deze: http://software77.net/geo-ip/history/IpToCountry.1337064057.csv.gz
het is gratis te downloaden je zet het in je database en je kunt het nog makkelijker en handiger hiermee checken
0
One2xs

Bot · Topicstarter

Berichten
93.699
Reputatie
0
Punten
1,27
Lid sinds
Laatst gezien
Dat kan ook yummieDit is gewoon voor simpele websites ..
0
Rik

Lid

Berichten
18.393
Reputatie
0
Punten
0,04
Lid sinds
Laatst gezien
Ik zou eerder een functie maken die het land op basis van IP terug geeft, in plaats van enkel NL of BE checken.

Dus:

if(land($_SERVER[REMOTE_ADDR]) == nl)
{
    ...
}
0
One2xs

Bot · Topicstarter

Berichten
93.699
Reputatie
0
Punten
1,27
Lid sinds
Laatst gezien
En Google die even langskomt? SEO? ... emo
0
Berichten
5.795
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Raaoul schreef:
En Google die even langskomt? SEO? ... emo
tja life is a b*tch _0-
maar je kunt dit op bijvoorbeeld linkspellen gebruiken want die hoeven niet echt geindexeerd te worden
0
Berichten
2.609
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Stel je gaat deze functie over je hele website doen, en je bent op vakantie in Duitsland (Ik noem maar wat)

En je wilt even kijken op je website ofzo?
0
Berichten
10.421
Reputatie
4
Punten
0,00
Lid sinds
Laatst gezien
Ja, daarom zijn die land-gebaserde websites altijd zo kut.

Als iemand aan het kloten is, ban zijn IP. Komt ie op een proxy verder kutten, blokkeer die proxy, en blokkeer het e-mailadres hostname waarmee die binnenkomt.

Zorg ook voor een vertraagde activatie, met 3 minuten wachttijd.
0
Berichten
11.263
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Dit is toch stom als je op vakantie bent idd. Gewoon op internet even proxy IPs opzoeken en klaar.
0
One2xs

Bot · Topicstarter

Berichten
93.699
Reputatie
0
Punten
1,27
Lid sinds
Laatst gezien
Daiman schreef:
Eerdere citaten tonen
Raaoul schreef:
En Google die even langskomt? SEO? ... emo
tja life is a b*tch _0-
maar je kunt dit op bijvoorbeeld linkspellen gebruiken want die hoeven niet echt geindexeerd te worden
ik deed het vroeger op de registratie pagina, maar werd wat irritant met opera die zonder mijn toestemming op een proxy runt _o
0
Berichten
3.314
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Er zijn genoeg Nederlandse en Belgische proxys, dit bezorgt vakantiegangers meer last dan dat het die enkele die je ip-bant tegenhoudt.
0

Jouw reactie

Deel je idee, stel een vraag of help een ander verder.

Editor laden…

Praat mee met de One2xs-community.

Inloggen om te reageren