Leeg
Verwijderd
Lijkt me vrij eenvoudig, ff de string uit elkaar halen met explode ofzoiets, en dan de getallen vergelijken met =< en >= enzo..
Ik denk dat je ook iets kunt doen met een ereg()
=( Protected by witchcraft )=
Hij maakt volgens mij de ereg al half in z'n vraag 
maareuh
denk ik, zoiets?
maareuh
code:
1
2
3
4
5
| if (ereg(192\.168\.[23-236]\.[1-254],$REMOTE_ADDR)) {
echo "Allowed?!";
} else {
echo "Donder op?!";
} |
denk ik, zoiets?
Nee niet met ereg(), want dan kom je in de knoop te zitten met waardes die je niet zomaar op kunt geven. Beter splitten dus. Zoiets:
En ik zie nu dat het met ereg dus wel kan... Weer wat bijgeleerd.
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
| <? // Range: 192.168.[23-236].[1-254] $ip_array = split("\.",$ip_adres); $if ($ip_array[0] == "192" &amp;&amp; $ip_array[1] == "168" &amp;&amp; intval($ip_array[2]) >= 23 &amp;&amp; intval($ip_array[2]) <= 236 &amp;&amp; intval($ip_array[3]) >= 1 &amp;&amp; intval($ip_array[3]) <= 254) { // IP adres valt binnen de range } else { // IP adres valt niet binnen de range } ?> |
edit:
Verneukte opmaak
Verneukte opmaak
En ik zie nu dat het met ereg dus wel kan... Weer wat bijgeleerd.
OF je zet het IP adres om naar een (long) getal. Als je van de 'limieten' ook het nummer berekent heb je een snelle en effectieve methode. Het omzetten van ip-adres -> ip 'nummer' zal je even moeten opzoeken. (Is op GoT ook weleens voorbij gekomen)
Ik heb het stukje van _cyclops_ niet getest. Maar het lijkt me dat dit niet gaat werken. Een reguliere expressie checkt per karakter of het voldoet aan de expressie. Het kan niet vergelijken tussen getallen voor zover ik weet.Op zondag 20 januari 2002 21:36 schreef Limhes het volgende:
En ik zie nu dat het met ereg dus wel kan... Weer wat bijgeleerd.
'k denk dat als je de ereg kunt maken (En veilig kunt houden) dat je die dan moet kiezen omdat 'k denk dat die sneller zijn 
maar kijk wel uit, je wil niet omdat je ereg niet kent of niet weet of hij goed werkt dat je access op de page kan krijgen terwijl je dat niet wil zegmaar...
maar kijk wel uit, je wil niet omdat je ereg niet kent of niet weet of hij goed werkt dat je access op de page kan krijgen terwijl je dat niet wil zegmaar...
dat gaat lekker zo ik ben al wat aan het proberen
dank je
dank je
Leeg
Verwijderd
mij hebben ze op GoT geleerd met preg() te werken ipv ereg() omdat het sneller is. Dat staat ook zo op de site van PHP.
de expression wordt dan:
preg_match("!192\.168\.[23-236]\.[1-254]!",$REMOTE_ADDR)
ipv ! kan je ook iets anders als delimiter gebuiken, bvb / maar dan wordt het imho zo onoverzichtelijk met die \. Veel gebruikt zijn ook _ en #.
de expression wordt dan:
preg_match("!192\.168\.[23-236]\.[1-254]!",$REMOTE_ADDR)
ipv ! kan je ook iets anders als delimiter gebuiken, bvb / maar dan wordt het imho zo onoverzichtelijk met die \. Veel gebruikt zijn ook _ en #.
Ik heb nu iets gemaakt maar ik heb thuis een netwerk met een router. Met $remote_addr checkt hij niet het externe ip maar het interne, hoe kan ik nou zorgen dat ie mijn externe pakt??
Leeg
Verwijderd
je wilde toch het IP van iemand anders checken?
Op je eigen PC kun je volgens mij niet zo maar checken welk IP nummer gebruikt wordt buiten de NAT router.
Of bedoel je wat anders?
Op je eigen PC kun je volgens mij niet zo maar checken welk IP nummer gebruikt wordt buiten de NAT router.
Of bedoel je wat anders?
Ik zal het even uitleggen:
IK ben dus een van de gelukkige abonnees van Zeelandnet met een datalimiet en wil met dit kunnen checken of iemand van mijn regio is. Als iemand op die site komt moet ik dus zijn externe ip hebben maar als diegene een netwerk heeft dan pakt hij zijn interne. Hoe krijg ik dit dan voor mekaar?
IK ben dus een van de gelukkige abonnees van Zeelandnet met een datalimiet en wil met dit kunnen checken of iemand van mijn regio is. Als iemand op die site komt moet ik dus zijn externe ip hebben maar als diegene een netwerk heeft dan pakt hij zijn interne. Hoe krijg ik dit dan voor mekaar?
Leeg
Ah, het proxy probleem 
check de manual voor REMOTE_ADDR en HTTP_X_FORWARDING_FOR!
check de manual voor REMOTE_ADDR en HTTP_X_FORWARDING_FOR!
Klaar voor een nieuwe uitdaging.
Hee uhm, Topix bug #30498230948! Als je een paar keer edit of quote krijg je van '&' naar '& a m p ;', wat op zijn beurt weer '& a m p ; a m p ;' wordt, enz. Had ik nog niet eerder opgemerkt, maar verrassendOp zondag 20 januari 2002 21:36 schreef Limhes het volgende:
PHP:
1 2 3 <? ...&amp;....&amp;....&amp;.. ?>
edit:
Verneukte opmaak
Edit: spaties om uit te leggen, want anders worden die dingen uitgefilterd.
* Kjev spreidt opnieuw een stukje zelfwerkzaamheid tentoonOp maandag 21 januari 2002 10:11 schreef chem het volgende:
Ah, het proxy probleem
PHP:
1
2
3
4
5
6
7
8
9
| <? if ($HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"] != "") { $proxy = $HTTP_SERVER_VARS["REMOTE_ADDR"]; $ip = $HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"]; } else { $ip = $HTTP_SERVER_VARS["REMOTE_ADDR"]; } $host = @gethostbyaddr($ip); ?> |
Pagina: 1