Pagina 1 van 2
IP codering
Geplaatst: 08 jul 2003, 09:05
door mosymuis
In mijn database vind ik de IP's terug als codes waar ik niets mee kan, zoals 3ea3ae41. Maar ik wil toch echt aan de hand van echte IP's terug kunnen zoeken in de posts! Hoe zet ik dan bestaande IP's om in deze codes zodat ik ze kan vergelijken?

Geplaatst: 08 jul 2003, 09:57
door kolly
Uit includes/functions.php:
Code: Selecteer alles
function encode_ip($dotquad_ip)
{
$ip_sep = explode('.', $dotquad_ip);
return sprintf('%02x%02x%02x%02x', $ip_sep[0], $ip_sep[1], $ip_sep[2], $ip_sep[3]);
}
function decode_ip($int_ip)
{
$hexipbang = explode('.', chunk_split($int_ip, 2, '.'));
return hexdec($hexipbang[0]). '.' . hexdec($hexipbang[1]) . '.' . hexdec($hexipbang[2]) . '.' . hexdec($hexipbang[3]);
}
Zoals je ziet wordt het omgezet in hexidecimale cijfers, dus het moet te berekenen zijn.
Logischerwijs zou ik het splitsen in vier stukjes van elk 2 hexadecimale getallen:
3e.a3.ae.41
Omgerekend wordt dit:
3e = 3x16 + 14 = 62
a3 = 10x16 + 3 = 163
ae = 10x16 + 14 = 174
41 = 4x16 + 1 = 65
Dus gedecodeerd is het ip-adres dus 62.163.174.65
Voor de mensen die niet bekend zijn met hexadecimale cijfers:
(1 = 1 ; 2 = 2 ; 3 = 3 ; 4 = 4 ; 5 = 5 ; 6 = 6 ; 7 = 7 ; 8 = 8 ; 9 = 9)
a = 10
b = 11
c = 12
d = 13
e = 14
f = 15
Waarbij je het laatste getal maal (16-tot-de-macht-0 = ) 1 doet, het enelaatste getal maal (16-tot-de-macht-1 = ) 16, het getal daarvoor maal (16-tot-de-macht-2 = ) 256 etc.
Hier geldt dus echter alleen maar maal 1 en maal 16 omdat het telkens maar 2 bij elkaar horende getallen zijn.
Interesting note: met hexadecimale getallen kun je met 2 cijfers van 0 tot het decimale getal 255 (=ff) schrijven. Scheelt je dus een cijfertje in je codering, oftewel kan wat bits schelen als je veel cijfers moet gebruiken in codes
Wijziging: Interesting note 2: de hexadecimale cijfers worden ook gebruikt om kleuren te definieren in HTML, zoals bijv. FF00FF, de eerste 2 cijfers slaan op de hoeveelheid rood, de tweede 2 cijfers op de hoeveelheid groen en de laatste 2 cijfers op de hoeveelheid blauw. Het definieert dus simpel gezegd de RGB-waarden

Geplaatst: 08 jul 2003, 18:00
door mosymuis
Pfft, dit volg ik niet hoor, en als ik het al zou volgen zou het me teveel tijd kosten. Is er hier:
Code: Selecteer alles
function decode_ip($int_ip)
{
$hexipbang = explode('.', chunk_split($int_ip, 2, '.'));
return hexdec($hexipbang[0]). '.' . hexdec($hexipbang[1]) . '.' . hexdec($hexipbang[2]) . '.' . hexdec($hexipbang[3]);
}
geen scriptje van te schrijven dat dit automatisch kan doen?
Ik heb wel
deze en
deze pagina gevonden, maar die doen niet wat ik wil, namelijk 80.100.83.151 omzetten in het formaat van phpBB.

Geplaatst: 08 jul 2003, 21:40
door kolly
mosymuis schreef:Ik heb wel
deze en
deze pagina gevonden, maar die doen niet wat ik wil, namelijk 80.100.83.151 omzetten in het formaat van phpBB.

Tsja in javascript ben ik niet thuis, dat zul je iemand anders moeten vragen, hehe.
Maar je moet trouwens niet decode gebruiken, maar encode om je IP-adres in phpbb-formaat om te zetten, dit deel dus:
Code: Selecteer alles
function encode_ip($dotquad_ip)
{
$ip_sep = explode('.', $dotquad_ip);
return sprintf('%02x%02x%02x%02x', $ip_sep[0], $ip_sep[1], $ip_sep[2], $ip_sep[3]);
}
Mij lijkt het dat er dan staat, explodeer (maak kleine stukjes van) het ip-adres, af te breken bij de punten (dotquad). Retourneer (return) het in delen van (%02x) twee onbekenden. Je krijgt dan 4 stukjes, $ip_sep[0] t/m $ip_sep[3]. Logischerwijs (volgend uit de DECODERING) maakt het script van elk stukje een hexadecimaal getal.
Dan moet je dus gewoon 80.100.83.151 omrekenen naar hexadecimaal formaat. Vooruit ik zal je even helpen (ik heb een paar biertjes op, dus misrekeningen moet je me niet kwalijk nemen

)
80 = 5x16 + 0x1 = 50
100 = 6x16 + 4x1 = 64
83 = 5x16 + 3x1 = 53
151 = 9x16 + 7x1 = 97
Dus 80.100.83.151 = 50645397 in hexadecimale getallen 8)
Dit volgt trouwens ook uit je IP Address Converter in je 2e linkje.
Geplaatst: 09 jul 2003, 22:54
door mosymuis
Pfft ik ben eruit hoor mensen, kolly, bedankt voor je hulp!

Geplaatst: 10 jul 2003, 07:24
door John_de_Vries
Ik dacht laat me deze link maar eens plaatsen voor Kolly.
Misschien had je hem al maar allee
http://www.ascii.cl/
Altijd gemakkeljk om hem te hebben.
John
Geplaatst: 13 okt 2003, 19:43
door michaa113
enis er nou ook een manier om wachtwoorden zo terug te coderen?
Geplaatst: 13 okt 2003, 20:05
door thomasdebans
ney, kan niet..
wachtwoorden werken met md5 codering..
en kan alleen maar gecodeerd worden en niet gedecodeerd
duz je kunt de codering alleen maar maken, en dan weer controleren.. maar nooit terug halen
Geplaatst: 13 okt 2003, 20:11
door michaa113
jammer

Geplaatst: 13 okt 2003, 20:19
door mosymuis
thomasdebans schreef:ney, kan niet..
wachtwoorden werken met md5 codering..
en kan alleen maar gecodeerd worden en niet gedecodeerd
duz je kunt de codering alleen maar maken, en dan weer controleren.. maar nooit terug halen
De wachtwoorden ja, de IP's niet

:roll::roll:
Geplaatst: 13 okt 2003, 20:21
door LadyBug
Tuurlijk kunnen die wachtwoorden gedecodeerd worden.
Het leek me al logish omdat bij het heropvragen van je password hij je ook gewoon toegezonden word.
Ik heb net mijn oom even gebeld en hij zegt dat dat zeker kan en hij zou me nog mailen over een oplossing 8)
Geplaatst: 13 okt 2003, 20:25
door mosymuis
LadyBug schreef:Tuurlijk kunnen die wachtwoorden gedecodeerd worden.
Het leek me al logish omdat bij het heropvragen van je password hij je ook gewoon toegezonden word.
Een
nieuw password ja.
Je haalt het een beetje door elkaar LadyBug, thomasdebans had gelijk wat betreft de MD5 codering van passworden, die is er alleen om te coderen en niet voor decoderen. Alleen met brute processorkracht en véél tijd is dit te kraken.
De IP's zijn gewoon in een ander getallenstelsel opgeslagen (hexadecimaal) om ruimte te sparen in de database, dit kan dus gewoon worden teruggerekend. Mijn vraag was gewoon hoe dat het makkelijkst kon, want het is nogal een k*twerkje...

Geplaatst: 13 okt 2003, 20:29
door LadyBug
Hmmm....
Zoals ik al deed vermoeden heb ik van dat coderen niet zoveel kaas gegeten.
Mijn oom daarintegen wel en vandaar dtaik hem even gebeld had want ik wou het antwoord ook wel weten.
Hij kwam dus met de opmerking dat je het wel degelijk kan decoderen.
Laten we even afwachten op de beloofde mail
Maarre ik weet het nu dus ook niet

Geplaatst: 13 okt 2003, 20:31
door mosymuis
Lol, jou oom zal je waarschijnlijk verkeerd begrepen hebben als hij er zoveel van af weet

Geplaatst: 13 okt 2003, 20:34
door LadyBug
Dat kan ook nog best hoor

Geplaatst: 14 okt 2003, 19:27
door michaa113
Ik weet inmiddels wel hoe je kan zorgen dat wachtwoorden gewoon zo in de db gezet worden en niet gecodeerd worden.
Geplaatst: 14 okt 2003, 19:59
door mosymuis
Dat zou kunnen ja, maar waarom zou je dat doen? Ik zou het als member een erg onprettige gedachte vinden als de administrator mijn wachtwoord kon lezen, en dat is nog zachtjes uitgedrukt. Die MD5 codering is er niet voor niets, buiten het hackers-aspect ook vooral ter beveiliging tegen de forumleiding. Als iets onmogelijk te achterhalen is, is er immers ook geen verleiding om het te proberen.
Geplaatst: 14 okt 2003, 20:11
door michaa113
Dat is wel zo.
Maarja, dankzij het proberen van het opslaan van wachtwoorden ZONDER md5 codering lukt het me nu ook bij mijn member systeem wachtwoorden op te slaan MET md5 codering
Geplaatst: 14 okt 2003, 20:19
door mosymuis
Dus je hebt het uiteindelijk niet toegepast op je forum?
Geplaatst: 14 okt 2003, 20:23
door michaa113
neej, want ik heb meer admins die wel eens in db kijken, dus wil ook eigen ww niet kwijt
En het schendt gewoon een deel van de privacy van de ander.