IP adressen toelaten

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Guido S

Guido S

07/11/2007 15:02:00
Quote Anchor link
Hoi allemaal
Ik heb een probleem met het maken van een script, om bepaalde IP-adressen door te laten. Op een bepaalde pagina wil ik allen NL en Be mensen hebben... Hiervoor gebruik ik dit script:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?
$var
= explode(".", gethostbyaddr($_SERVER['REMOTE_ADDR']));

if($var[2]=="nl" OR $var[2]=="be" OR $var[3]=="nl" OR $var[3]=="be"){
?>

Inhoud wat laten zien moet worden als je togelaten wordt (in HTML)
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?
} else { echo"You don't have the right IP-adress" }
?>


Deze doet heb opzich goed, eigenlijk te goed. Sommige Nl of Be mensen kunnen nu ook de pagina niet meer bezoeken omdat ze geen .nl of .be in hun Hostname hebben staan.
Dus de oplossing naar mijn idee was, een manier bedenken om bepaalde IP-adressen door te laten. Ik heb wat verschillende dingen geprobeert maar niks werkte goed.

<b>De Ip-adressen die door gelaten moeten worden, zou ik graag in een appart bestand hebben staan.</b> Geen Mysql want daar heb ik helemaal geen ervaring mee. Ben pas net begonnen met Php.

Ik hoop dat iemand hier een oplossing weet.
Als vast bedankt :)
Gewijzigd op 01/01/1970 01:00:00 door Guido S
 
PHP hulp

PHP hulp

10/12/2024 02:19:16
 
Gerben Jacobs

Gerben Jacobs

07/11/2007 15:09:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
$var
= explode(".", gethostbyaddr($_SERVER['REMOTE_ADDR']));
$ext = end($var);
echo $ext;
?>



Edit: Als je niet uit NL of BE komt kan je beter een Engelse fout melding kiezen ;P


Edit2: Dat was helemaal niet je vraag.. hmm kijk eens naar

http://nl.php.net/fread
Gewijzigd op 01/01/1970 01:00:00 door Gerben Jacobs
 
Kalle P

Kalle P

07/11/2007 15:16:00
Quote Anchor link
Waarschijnlijk zul je dit vaker nodig hebben.

($var[2]=="nl" OR $var[2]=="be" OR $var[3]=="nl" OR $var[3]=="be")

Zit de waardes in een array dit gaat veel makkelijker. Bijvoorbeeld:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?php
$a
= array('be', 'nl');

//controleren met
if( (in_array($iets, $a) ){
    
}

else{
 //niet
}
?>
 
Guido S

Guido S

07/11/2007 15:24:00
Quote Anchor link
Bedankt voor het snel reageren :)

@Gerben Jacobs:
Je hebt gelijk tekst kan beter in Engels, heb het al veranderd.
Van dat artikel snap ik niet veel, ben nog maar een beginnertje :P

@Kalle:
Opzich werkt dat van mij wel goed, heb verschillende computers getest en geen een had het .nl of .be verder staan dan 2 of 3 punten.

Het probleem is vooral de mensen die helemaal geen .nl of .be in hun hostname hebben staan. Dus mijn idee voor een oplossing was om bepaalde ip-adressen toe telaten.

Maar hoe??? En het liefst wil ik dan ook nog de Ip-adressen in een appart bestand hebben staan. Want dan kan ik die makkelijk aanpassen.
 
Gerben Jacobs

Gerben Jacobs

07/11/2007 15:33:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
$data
= file_get_contents("ip.txt");
$banned = explode("\n", $data);
foreach($banned AS $banIP) {
    if(trim($banIP) == $_SERVER["REMOTE_ADDR"]) {
        die("Alee, ge komt nie ut België zenne");
    }
}

?>



En dan in "ip.txt" per regel een IP dat je gebanned/geen toegang wil geven.
 
Guido S

Guido S

07/11/2007 15:44:00
Quote Anchor link
@ Gerben Jacobs
Ik zoek precies zon script allen, omgedraait.
De Ip-adressen uit dat lijstje moeten juist wel toegelaten worden + alle mensen met .nl en .be in hun Hostname.

Maar bedankt voor het reageren :)
 
Guido S

Guido S

07/11/2007 15:46:00
Quote Anchor link
Ik dacht zoals:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?
$var
= explode(".", gethostbyaddr($_SERVER['REMOTE_ADDR']));

$data = file_get_contents("ip.txt");
$toelaten = explode("\n", $data);

if($toelaten OR $var[2]=="nl" OR $var[2]=="be" OR $var[3]=="nl" OR $var[3]=="be"){
?>

Inhoud
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?
} else { echo"You don't have the right IP-adress" }
?>



Allen zal dit was niet werken... :P
Gewijzigd op 01/01/1970 01:00:00 door Guido S
 
Guido S

Guido S

07/11/2007 15:47:00
Quote Anchor link
Oeps... 1x teveel gepost :P
Gewijzigd op 01/01/1970 01:00:00 door Guido S
 
Gerben Jacobs

Gerben Jacobs

07/11/2007 15:49:00
Quote Anchor link
Kan je wel een beetje PHP? Of dat ook niet?

Hint: Waar "==" staat moet je eens "!=" zetten ;]
 
Guido S

Guido S

07/11/2007 15:53:00
Quote Anchor link
Ik kan een klein beetje PHP, de beginselen zou je kunnen zeggen.
Allen meer ook niet. Probeer het wel onder de knie te krijgen.
Php leer je allen niet in een dag :S

Ik werk in mijn website ook het groots gedeelte ook nog allen met HTML, wat ik wel goed kan.
Gewijzigd op 01/01/1970 01:00:00 door Guido S
 
Gerben Jacobs

Gerben Jacobs

07/11/2007 16:05:00
Quote Anchor link
Nou, ik had er zin in om het te maken, dus hebbie geluk ;P

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
$host
= explode(".", gethostbyaddr($_SERVER['REMOTE_ADDR']));
$ext = strtolower(end($host));
if($ext != "be" || $ext != "nl") {
    $data = file_get_contents("ip.txt");
    $banned = explode("\n", $data);
    foreach($banned AS $banIP) {
        if(trim($banIP) != $_SERVER["REMOTE_ADDR"]) {
            die("Geen toegang! Je komt uit ".$ext);
        }
    }
}

?>


Hij kijkt eerst of je uit NL of BE komt, zo niet gaat ie kijken of je IP in de ip.txt lijst voorkomt en als ie daar ook niet staat heb je geen toegang!

Dus als je dit boven aan je pagina zet dan werkt het al. Maar let op; een 'die()' is ook echt keihard stop. Ook je eventuele layout die hier achter komt.
 
Guido S

Guido S

07/11/2007 16:10:00
Quote Anchor link
Harstikke bedankt.
Hier zullen de bezoekers zonder .nl en .be blij mee zijn :)
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.