• Login
  • Register
  • Zoek
This Thread
  • Everywhere
  • This Thread
  • This Forum
  • Articles
  • Pages
  • Forum
  • Filebase Entry
  • More Options

ICTscripters

Dé plek voor IT

Dé plek voor IT

Login

Geavanceerde opties
  1. Home
  2. Forum
    1. Alle berichten
    2. Recente activiteiten
  3. ICT Nieuws
  4. Blog
  5. Marktplaats
    1. Werk
    2. Advertenties
    3. Domeinnamen
    4. Websites
    5. Design & lay-outs
    6. Scripts
    7. Overige
  6. Design
  7. Leden
    1. Actieve bezoekers
    2. Team
    3. Leden zoeken
  8. Downloads
  9. Goedkope domeinnamen
  1. Home
  2. Forum
    1. Alle berichten
    2. Recente activiteiten
  3. ICT Nieuws
  4. Blog
  5. Marktplaats
    1. Werk
    2. Advertenties
    3. Domeinnamen
    4. Websites
    5. Design & lay-outs
    6. Scripts
    7. Overige
  6. Design
  7. Leden
    1. Actieve bezoekers
    2. Team
    3. Leden zoeken
  8. Downloads
  9. Goedkope domeinnamen
  1. Home
  2. Forum
    1. Alle berichten
    2. Recente activiteiten
  3. ICT Nieuws
  4. Blog
  5. Marktplaats
    1. Werk
    2. Advertenties
    3. Domeinnamen
    4. Websites
    5. Design & lay-outs
    6. Scripts
    7. Overige
  6. Design
  7. Leden
    1. Actieve bezoekers
    2. Team
    3. Leden zoeken
  8. Downloads
  9. Goedkope domeinnamen
  1. Dé plek voor IT - ICTscripters
  2. Forum
  3. Scripting & programmeren
  4. PHP + SQL

Forum

  • Beta-testers gezocht voor Crypto-oefenplatform

    Syntax 29 januari 2026 om 16:11
  • Na 15 jaar terug van weggeweest: iCriminals.nl is terug (BETA)!

    Syntax 19 januari 2026 om 09:34
  • Developer Gezocht

    Mikevdk 10 januari 2026 om 18:57
  • Op zoek naar de legends

    Syntax 5 januari 2026 om 13:50
  • [FREE] WeFact Hosting module

    Jeroen.G 13 oktober 2025 om 14:09
  • Help testers nodig voor android app Urgent

    urgentotservices 26 september 2025 om 10:21
  • Versio vervanger

    Jeroen.G 25 augustus 2025 om 15:56
  • Afspraken systeem met planbeperking

    Lijno 1 augustus 2025 om 23:04

Marktplaats

  • 350 Nieuwe Domeinnamen Januari 2026

    shiga 1 februari 2026 om 14:21
  • 321 Nieuwe Domeinnamen December 2025

    shiga 1 januari 2026 om 10:26
  • Meerdere mafia game template te koop

    Syntax 26 december 2025 om 00:07

IPv6 hoe werkt het

  • eeyk
  • 4 juni 2012 om 00:19
  • eeyk
    Crime-ware.nl
    Berichten
    1.184
    • 4 juni 2012 om 00:19
    • #1

    ik heb een vraag hoe ga ik straks als ipv6 overal ingeschakeld is het adres opslaan in de database?

    ik lees dat dit vrij moeilijk is omdat php geen 128bit adressen ondersteund.

    bron : http://stackoverflow.com/questions/4449…ddresses-in-php


    hoe ga ik dit straks opslaan? gewoon zoals een ipv4 adres met? of toch anders.

    en blijf dit opvraagbaar met

    PHP
    GETENV('');


    ik las namelijk dat binnenkort de adressen op zijn dit is rond 17 juli en op 6 juni zullen de eerste grote bedrijven als google als facebook overstappen op ipv6.

    Uw website gratis adverteren? : http://www.crime-ware.nl/adverteren/
    Uniek pokémon spel : http://www.pocketmonsters.nl/
    * pocketmonsters website = Online!
    * alpha fase is online. v0.15.1
    * 47% klaar (béta versie opnieuw uitgesteld!)

  • Guest, wil je besparen op je domeinnamen? (ad)
  • Thisguyisgone
    Elite members
    Ontvangen Reacties
    197
    Berichten
    7.880
    • 4 juni 2012 om 00:26
    • #2

    Afwachten, ik heb dit met Koen ook al besproken. Het is nogal onduidelijk hoe sommige servers dit gaan aankunnen. Dit is sowieso wel een punt dat besproken zal worden.

  • jopitan
    Professional
    Berichten
    684
    • 4 juni 2012 om 11:31
    • #3

    Dat is redelijk simpel naar mijn mening. Je maakt een kolom in je database met een varbinary( 16 ) aan. Deze kolom zal uiteindelijk je IP bevatten.

    Daarnaast moet IPv6 wel enabled staan in PHP. Bij zowel IPv4 en IPv6 haal je er een inet_ntop en inet_pton (PHP >= 5.1.0) overheen.

    Dus het zal dan als volgt zijn:

    PHP
    $_IPton = inet_pton($_SERVER['REMOTE_ADDR']); //Kan ook $_SERVER['HTTP_X_FORWARDED_FOR'] en $_SERVER['CLIENT_IP'] zijn dus gewoon een functie daarvoor maken.
    
    
    $_IP = inet_ntop($_IPton);

    Waarom doe je eerst inet_pton en daarna inet_ntop?
    Zo maak je de variabel een consistente string. Je kunt er namelijk niet vanuit gaan dat deze altijd consistent is.

    PHP Manual (inet_ntop):
    This function converts a 32bit IPv4, or 128bit IPv6 address (if PHP was built with IPv6 support enabled) into an address family appropriate string representation.

    PHP Manual (inet_pton):
    This function converts a human readable IPv4 or IPv6 address (if PHP was built with IPv6 support enabled) into an address family appropriate 32bit or 128bit binary structure.

    Als de hierboven code een error voor je oplevert probeer dan het volgende:

    Maak twee kolommen aan:
    - ipv4 (INT UNSIGNED)
    - ipv6 (BINARY 16)

    Dan wanneer je een insert doet met een IPv4 adres kun je als value het volgende doen:
    INET_ATON($_IP)

    Als je dan weer het IP uit de database wilt halen kun je dat in de select query doen door om de kolom INET_NTOA te zetten.

    Bij een IPv6 doe je het volgende in een insert query:
    mysql_real_escape_string(inet_pton($_IP))

    En om het weer uit de database te halen doe je gewoon een normale select query en in een variabel doe je inet_pton.

    E.g. $ipv6 = inet_ntop($select['ipv6']);

    Wat nou als ik ze gecombineerd wil hebben?
    Dan kun je een functie schrijven die checkt of het IP een IPv4 of een IPv6 type is. Dan kun je het bovenstaande gewoon hergebruiken alleen moet je voor de kolom waar het IP inkomt een geschikte kolomtype selecteren die beiden goed ondersteunen.

    Kast: HAF922 | CPU: I7-930 @ 4.0GHz | CPU Cooler: Noctua NH-D14 | HDD0: Crucial M4 128GB, HDD1: Kingston SSD 64GB, HDD2/3: WD Black & Green 1TB, HDD4: Seagate 1.5TB | Mem: Kingston HyperX 12GB @ 1600MHz | Graphics: Crossfire HD6970 | Res: 5760x1080

  • eeyk
    Crime-ware.nl
    Berichten
    1.184
    • 4 juni 2012 om 12:12
    • #4

    Dit gaat een heel gedoe worden om iedere ip check van al mij websites ipv6 ready te krijgen. 8-)

    Uw website gratis adverteren? : http://www.crime-ware.nl/adverteren/
    Uniek pokémon spel : http://www.pocketmonsters.nl/
    * pocketmonsters website = Online!
    * alpha fase is online. v0.15.1
    * 47% klaar (béta versie opnieuw uitgesteld!)

  • jopitan
    Professional
    Berichten
    684
    • 4 juni 2012 om 12:22
    • #5

    Tja, er is nooit gezegd dat programmeren even in vijf seconden kan.

    Een functie maken met:
    - De 3 server variabelen afgaat en de eerste die een ip heeft in een variabel plaatsen
    - IP checken of er een : in voor komt (strstr), zo ja? IPv6. Zo nee? IPv4
    - Is IP IPv4? Dan een ip2long erover heen gooien (hetzelfde als INET_ATON) of als je direct naar varbinary wilt converten gebruik je ook hier inet_pton en een mysql_real_escape_string
    - Is IP IPv6? Dan een mysql_real_escape_string en een inet_pton
    - Eruit halen? Checken of IPv4/6 is. Is IPv4? long2ip eroverheen. Is IPv6? inet_ntop eroverheen.

    Het is nu alleen een kunst er een geschikte kolom ervoor te vinden. Geen tijd op het te optimaliseren? Varchar is your friend :) Je zou ook voor een VARBINARY kunnen gaan. Bij die oplossing moet je alleen nog van de IPv4 adressen een binary maken.

    Kast: HAF922 | CPU: I7-930 @ 4.0GHz | CPU Cooler: Noctua NH-D14 | HDD0: Crucial M4 128GB, HDD1: Kingston SSD 64GB, HDD2/3: WD Black & Green 1TB, HDD4: Seagate 1.5TB | Mem: Kingston HyperX 12GB @ 1600MHz | Graphics: Crossfire HD6970 | Res: 5760x1080

  • K.Rens
    Eigenaar
    Ontvangen Reacties
    241
    Berichten
    4.473
    Filebase Entries
    2
    • 4 juni 2012 om 14:26
    • #6

    Sja, momenteel krijg ik op mijn server ongeveer elk half uur wel iemand over de vloer met ipv6.
    Momenteel wordt dit denk ik nog niet goed afgehandeld, want ik krijg steeds een foutmelding in mijn var messages...
    Het lijkt dus stilletjes aan heel dichtbij te komen om inderdaad over te stappen op ipv6...

  • eeyk
    Crime-ware.nl
    Berichten
    1.184
    • 4 juni 2012 om 16:52
    • #7

    is er een programma / proxy waarmee ik ipv6 kan testen? want ik heb nog gewoon ipv4

    Uw website gratis adverteren? : http://www.crime-ware.nl/adverteren/
    Uniek pokémon spel : http://www.pocketmonsters.nl/
    * pocketmonsters website = Online!
    * alpha fase is online. v0.15.1
    * 47% klaar (béta versie opnieuw uitgesteld!)

  • jopitan
    Professional
    Berichten
    684
    • 4 juni 2012 om 16:55
    • #8

    http://ipv6proxy.org

    Kast: HAF922 | CPU: I7-930 @ 4.0GHz | CPU Cooler: Noctua NH-D14 | HDD0: Crucial M4 128GB, HDD1: Kingston SSD 64GB, HDD2/3: WD Black & Green 1TB, HDD4: Seagate 1.5TB | Mem: Kingston HyperX 12GB @ 1600MHz | Graphics: Crossfire HD6970 | Res: 5760x1080

  • eeyk
    Crime-ware.nl
    Berichten
    1.184
    • 4 juni 2012 om 17:12
    • #9

    Pfft dat gaat nog een gigantische klus worden want je moet straks ipv4 en ipv6 gaan scheiden van elkaar.
    misschien opslaan als text in de database.

    Nou ja als nederland overgaat op ipv6 zie ik dat dan wel weer, ik denk dat dit voor veel mensen en websites een doom dag word.

    Uw website gratis adverteren? : http://www.crime-ware.nl/adverteren/
    Uniek pokémon spel : http://www.pocketmonsters.nl/
    * pocketmonsters website = Online!
    * alpha fase is online. v0.15.1
    * 47% klaar (béta versie opnieuw uitgesteld!)

  • Thisguyisgone
    Elite members
    Ontvangen Reacties
    197
    Berichten
    7.880
    • 4 juni 2012 om 17:31
    • #10

    woensdag om 3 u 's nachts ging ipv6 toegepast worden (Belgische / Nederlandste tijd).

    Bron, hln.be

  • eeyk
    Crime-ware.nl
    Berichten
    1.184
    • 5 juni 2012 om 08:59
    • #11
    Citaat van Ferhat.Remory

    woensdag om 3 u 's nachts ging ipv6 toegepast worden (Belgische / Nederlandste tijd).

    Bron, hln.be

    dat was toch alleen voor bedrijven niet voor particulieren?

    Uw website gratis adverteren? : http://www.crime-ware.nl/adverteren/
    Uniek pokémon spel : http://www.pocketmonsters.nl/
    * pocketmonsters website = Online!
    * alpha fase is online. v0.15.1
    * 47% klaar (béta versie opnieuw uitgesteld!)

  • jopitan
    Professional
    Berichten
    684
    • 5 juni 2012 om 10:40
    • #12
    PHP
    function raw_ip()
    	{
    		if(!empty($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] != 'unknown')
    			$ip = $_SERVER['REMOTE_ADDR'];
    		if(!empty($_SERVER['HTTP_X_FORWARDED_FOR']) && $_SERVER['HTTP_X_FORWARDED_FOR'] != 'unknown')
    			$ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
    		if(!empty($_SERVER['CLIENT_IP']) && $_SERVER['CLIENT_IP'] != 'unknown')
    			$ip = $_SERVER['CLIENT_IP'];
    		return $ip;
    	}
    	
    	function binaryIP()
    	{
    		$bIP = bin2hex(inet_pton(raw_ip()));
    		return $bIP;
    	}
    	
    	function humanIP($fIP)
    	{
    		$hIP = inet_ntop($fIP);
    		return $hIP;
    	}
    
    
    	echo binaryIP() . "<br>";
    	mysql_query("INSERT INTO `ipv6_rows` (`ip`) values('" . mysql_real_escape_string(binaryIP()) . "')");
    	
    	$_fetch = mysql_fetch_array(mysql_query("SELECT * FROM `ipv6_rows` LIMIT 1"));
    	echo humanIP($_fetch['ip']);
    Toon Meer

    Speciaal voor jullie allemaal :) 3 simpele functies tot het maken van een binary IP en een Human readable IP.
    Dit zet een IPv4/6 om in een binary.

    Maak hiervoor in de database wel een kolom aan waar het IP in komt met VARBINARY(16).

    Let op: Je moet zelf nog kijken of er uberhaupt wat in staat anders zal er een in_addr error worden veroorzaakt. Kun je simpel oplossen door de empty functie te gebruiken.

    Ik heb het geschreven, getest en werkend verklaard. (Zowel IPv4 en IPv6)

    Kast: HAF922 | CPU: I7-930 @ 4.0GHz | CPU Cooler: Noctua NH-D14 | HDD0: Crucial M4 128GB, HDD1: Kingston SSD 64GB, HDD2/3: WD Black & Green 1TB, HDD4: Seagate 1.5TB | Mem: Kingston HyperX 12GB @ 1600MHz | Graphics: Crossfire HD6970 | Res: 5760x1080

  • eeyk
    Crime-ware.nl
    Berichten
    1.184
    • 5 juni 2012 om 19:48
    • #13

    ik denk dat ik al weet hoe ik ipv6 ga ondersteunen ik zorg gewoon dat een filter al die gekken tekens verwijderd en er alleen letters en getallen overblijven.

    Nieuwe reactie samengevoegd met originele reactie op 05.06.12 22:37:55:
    Gaat dit werken?

    PHP
    $ipv4_check       = mysql_query("SELECT * FROM `[users]` WHERE `IP`='".$IPv4."'");
    						$ipv6_raw_check   = mysql_query("SELECT * FROM `[users]` WHERE `IPv6_raw`='".mysql_real_escape_string(binaryIP())."'");
    						$ipv6_unraw_check = mysql_query("SELECT * FROM `[users]` WHERE `IPv6`='".$IP."'");
    
    
    en insert into :
    
    
    '".$IP."',
    '".mysql_real_escape_string(binaryIP())."',
    '".$IP."',
    Toon Meer

    Uw website gratis adverteren? : http://www.crime-ware.nl/adverteren/
    Uniek pokémon spel : http://www.pocketmonsters.nl/
    * pocketmonsters website = Online!
    * alpha fase is online. v0.15.1
    * 47% klaar (béta versie opnieuw uitgesteld!)

Participate now!

Heb je nog geen account? Registreer je nu en word deel van onze community!

Maak een account aan Login

ICT Nieuws

  • Fijne feestdagen

    tcbhome 28 december 2025 om 13:55
  • Kritieke update voor Really Simple Security-plug-in

    K.Rens 16 november 2024 om 16:12
  • ING Nederland streeft naar ondersteuning van Google Pay tegen eind februari

    K.Rens 2 november 2024 om 16:09

Blogs

  • Functioneel ontwerp

    Dees 28 december 2014 om 12:38
  • Access Control List implementatie in PHP/MySQL - deel 1/2

    FangorN 28 december 2018 om 12:35
  • Access Control List implementatie in PHP/MySQL - deel 2/2

    FangorN 29 december 2018 om 12:37

Gebruikers die dit topic bekijken

  • 1 Gasten
  1. Marktplaats
  2. Design
  3. Voorwaarden
  4. Ons team
  5. Leden
  6. Geschiedenis
  7. Regels
  8. Links
  9. Privacy Policy
ICTscripters ©2005 - 2026 , goedkope hosting door DiMoWeb.com, BE0558.915.582
Sponsors: Beste kattenhotel provincie Antwerpen | Beste Zetes eid kaartlezer webshop
Style: Nexus by cls-design
Stylename
Nexus
Manufacturer
cls-design
Licence
Commercial styles
Help
Supportforum
Visit cls-design