IP adres range een andere include geven

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Stijn V

Stijn V

09/06/2008 11:38:00
Quote Anchor link
Hoi,

Ik wil een bepaalde IP range een aparte include geven. Dus alle IP adressen in de range:

Productie 145.7.225.128/26
Productie 145.7.224.64/26

Dit zijn alle KPN abonnees.

In mijn stats zie ik dat er o.a. bijvoorbeeld
145.7.224.68
145.7.224.117
145.7.224.70
etc
mijn site hebben bezocht. Zij moeten dus die aparte include weergegeven krijgen.

Hoe zet ik dit in php?
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
<?php
if(
$_SERVER['REMOTE_ADDR'] == '145.7.224' ||
$_SERVER['REMOTE_ADDR'] == '145.7.225' ||
{

    file_get_contents('include.php');
}

else
{
    // laat niets zien
}
?>

Kan ik iets van [0-9] ofzo gebruiken dan? Of kan ik zeggen dat 145.7.225 en 145.7.224 al voldoen aan de voorwaarden zodat alles wat hiermee begint dus al voldoet (zoals hierboven in de php)?

Het maakt mij niet uit dat bv 145.7.224.10 en 145.7.225.99 dan ook de include krijgen hoor, wat in mijn stats zie ik dat die de site toch niet bezoeken...

Alvast bedankt voor de info.

Stijn
 
PHP hulp

PHP hulp

30/11/2024 11:27:22
 
- SanThe -

- SanThe -

09/06/2008 12:21:00
Quote Anchor link
Zie substr().
 
Stijn V

Stijn V

20/01/2009 15:55:00
Quote Anchor link
Heb de oplossing:


Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?
if(eregi('145\.7\.22',$_SERVER['REMOTE_ADDR']))
{

    file_get_contents('include.php');
}

else
{
    // laat niets zien
}
?>
 
Hipska BE

Hipska BE

20/01/2009 16:58:00
Quote Anchor link
Hier heb ik een scriptje voor gemaakt ( http://www.phphulp.nl/php/scripts/11/1423/ )
Ik wist wel dat het ooit van pas ging komen voor iemand.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
<?php
$net1
= '145.7.225.128';
$net2 = '145.7.224.64';
$mask = '255.255.255.192'; // /26 is 192 op laatste byte

if(is_iprange($_SERVER['REMOTE_ADDR'],$net1,$mask) or is_iprange($_SERVER['REMOTE_ADDR'],$net2,$mask)){
    // speciale include
}else{
    // gewone include
}

?>


EDIT:
@Stijn V: Dat is niet de oplossing die jij volgens je startpost wil hebben.
Jij geeft op als toegelaten range 145.7.225.128/26, dit is een range waartoe het adres 145.7.225.100 niet toe behoort, maar wel zal toegelaten worden door uw eregi functie.

Trouwens jij doet hier stringbewerkingen op iets wat eigenlijk getallen zijn. Daar horen dus ook getal (bits) bewerkingen bij. Dit is in mijn script trouwens ook zo, zoals het hoort dus.
Gewijzigd op 01/01/1970 01:00:00 door Hipska BE
 



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.