IPv4 en IPv6 opslaan in een database

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

J opla

j opla

18/11/2015 22:56:40
Quote Anchor link
Hoi,

Ik wil het IP adres van bezoekers opslaan in MySQl. Ik haal het adres op met
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$ip=$_SERVER['REMOTE_ADDR'];


Vraag 1:
In hoeverre geeft $_SERVER['REMOTE_ADDR'] een IPv6 adres of is dat momenteel nog altijd IPv4?

Vraag 2:
Hoe kan ik testen of ik een IPv4 of een IPv6 adres heb?

Vraag 3:
Ik heb al uitgevonden dat ik met ip2long($ip) heel makkelijk een IPv4 adres om kan zetten naar een integer, maar is er ook zo'n functie voor IPv6 adressen, want die heb ik niet gevonden.

Alvast bedankt voor jullie gewaardeerde reacties!

Jop
 
PHP hulp

PHP hulp

16/11/2024 05:34:18
 
- Ariën  -
Beheerder

- Ariën -

18/11/2015 23:35:25
Quote Anchor link
1) Ja, dit geeft het IPv4 of IPv6 adres aan waarmee mer met de webserver wordt gecommuniceerd.
2) Zie deze functies eens:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
$ip
= "123.123.123.123";
if(filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_IPV4)) {    
    echo "je hebt IPv4";
}

?>


Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
$ip
= "FE80:0000:0000:DEAD:BEEF:B3FF:COFF:EE00";    
if(filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_IPV6)) {
    echo "Je hebt IPv6";
}
?>


3) inet_ntop en inet_pton
 
J opla

j opla

18/11/2015 23:42:05
Quote Anchor link
@Arien,

Dank je. Die inet_ntop en inet_pton heb ik niet helemaal (of beter: helemaal niet) begrepen. Kun je misschien een tip van de sluier oplichten hoe ik die functies zou moeten gebruiken om iets in de database te krijgen?
echo inet_ntop($ipv4) geeft bij mij geen output en met pton geeft vreemde tekens.
 
- Ariën  -
Beheerder

- Ariën -

18/11/2015 23:48:04
Quote Anchor link
Dan vrees ik dat PHP op je server geen IPv6 ondersteuning heeft?
Wat die functies voor format teruggeven, zou ik overigens niet weten.
Gewijzigd op 18/11/2015 23:48:24 door - Ariën -
 
J opla

j opla

18/11/2015 23:55:53
Quote Anchor link
Waarop baseer je dat er geen IPv6 ondersteuning zou zijn. Ik heb alleen IPv4 getest met inet_ntop(). Aan IPv6 ben ik helemaal nog niet begonnen.

Toevoeging op 19/11/2015 13:05:27:

Heeft iemand nog een idee hoe je IPv6 adressen het beste in een MySQL database kan opslaan?
 



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.