IP Adresse in Hexadezimal

In diesem Forum können Mod-Autoren ihre Mods vorstellen, die sich noch im Entwicklungsstatus befinden. Der Einbau in Foren im produktiven Betrieb wird nicht empfohlen.
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Antworten
the_yellowfish
Mitglied
Beiträge: 30
Registriert: 28.05.2006 14:03
Wohnort: Winznau, Schweiz
Kontaktdaten:

IP Adresse in Hexadezimal

Beitrag von the_yellowfish »

Hallo Leute,
ich habe ein kleines Problem,
um dem Session Hijacking vorzubeugen, möchte ich noch einmal in Seiten, welche nicht im Forum integriert sind (Startseite, News, Chat, Gallerie), aber trotzdem die phpBB Benutzerauthentifizierung erfordern, die IP Adresse der Benutzer überprüfen.
Dies wollte ich mit diesem Code machen:

Code: Alles auswählen

<?php
$ip = $_SERVER['REMOTE_ADDR'];
$arr_ip = explode('.' , $ip);
for ($i=0; $i<4; $i++) {
$arr_ip[$i] = bin2hex($arr_ip[$i]);
}
$hex_ip = implode('', $arr_ip);
if($userdata['session_ip'] != $ip) {
die("Fehler: Session Hijacking<br /><a href=\"portal_login.html\" target=\"_top\">Neu einloggen</a><br /><br />Error: Session Hijacking<br /><a href=\"portal_login.html\" target=\"_top\">Login</a>");
?>
Als dies nicht funktionierte (kahm immer: Fehler: Session Hijacking.... So wie ichs eingecodet hab), hab ich das rausgenommen, und in den Debugbereich eingefügt (Ich hab im Adminpanel eine Seite hinzugefügt, wo man die Ausgabe von Scriptvariablen sehen kann.):

Code: Alles auswählen

<b:navpanelhead> Debug </b:navpanelhead>
<b:navpanelbody>
<?php
$ip = $_SERVER['REMOTE_ADDR'];
$arr_ip = explode('.' , $ip);
for ($i=0; $i<4; $i++) {
$arr_ip[$i] = bin2hex($arr_ip[$i]);
}
$hex_ip = implode('', $arr_ip);
?>
<p style="color:black;font-size:12px;">IP Adresse: <?php echo $ip; ?></p>
<p style="color:black;font-size:12px;">erkannte Hex IP Adresse: <?php echo $hex_ip; ?></p>
<p style="color:black;font-size:12px;">gespeicherte Hex IP Adresse: <?php echo $userdata['session_ip']; ?></p>
</b:navpanelbody>
Und da bekomme ich folgende Ausgabe:
IP Adresse: 213.230.54.66

erkannte Hex IP Adresse: 32313332333035343636

gespeicherte Hex IP Adresse: d5e63642
Übrigens die komischen HTML Sachen wie <b:navpanelbody> stammen von Backbase, einem AJAX Environment.

Was mach ich hier falsch? Wieso wird bekomm ich keinen richtigen Hexcode sondern nur 32313332333035343636? Bin ich etwa zu blöd für php??? :( :( :(

Lg der gelbe Fisch
Benutzeravatar
cYbercOsmOnauT
Ehemaliges Teammitglied
Beiträge: 3820
Registriert: 18.02.2004 23:02
Wohnort: Göttingen
Kontaktdaten:

Beitrag von cYbercOsmOnauT »

Du fragst schonmal im falschen Forum.. ich schiebe. ;)

Grüße,
Tekin
• prof. phpbb-Installation, Reparatur, Rettung nach Hackattacken, sowie PHP/JS Programmierung aller Art
Zend Certified Engineer, Linux Administrator und die Sicherheit von 34 Jahren Programmiererfahrung
• Interesse? Kontakt unter t.birduezen@web-coding.eu
fanrpg
Mitglied
Beiträge: 2909
Registriert: 13.12.2004 22:41

Beitrag von fanrpg »

gucks dir doch einfach von den phpBB Funktionen ab

Code: Alles auswählen

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]);
}
Antworten

Zurück zu „phpBB 2.0: Mods in Entwicklung“