IPv6-Kompatibilität von phpBB2

Probleme bei der regulären Arbeiten mit phpBB, Fragen zu Vorgehensweisen oder Funktionsweise sowie sonstige Fragen zu phpBB im Allgemeinen.
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.1, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Andreas0815
Mitglied
Beiträge: 3
Registriert: 09.06.2011 19:36

IPv6-Kompatibilität von phpBB2

Beitrag von Andreas0815 »

Hallo,

ich habe hier ein altes phpBB2, das leider aus diversen Gründen (starke Verzahnung mit einem vor Jahren selbst entwickelten "CMS" und Community-Funktionen) nicht auf Version 3 upgedated werden kann. Das Sicherheitsrisiko ist bekannt.

Im Zuge des gestrigen World IPv6 Day ist aufgefallen, das IPv6-Adressen von Beiträgen nicht richtig angezeigt werden, der Rest schien soweit zu funktionieren.

In der Datenbank habe ich die Länge der VARCHAR-Felder, in denen die IP-Adressen encoded gespeichert werden, bereits erhöht.
Augenscheinlich sind encode_ip() und decode_ip() in der includes/fuctions.php dafür verantwortlich - doch leider fehlt mir das Fachwissen, um dort die nötigen Änderungen vorzunehmen.

Hat hier jemand evtl. schon die nötigen Anpassungen gemacht und kann diese zur Verfügung stellen oder "auf die Schnelle" eine passende Lösung für den Dual-Stack-Betrieb erstellen?

Wäre echt super! :)

Vielen Dank,
Andreas
Andreas0815
Mitglied
Beiträge: 3
Registriert: 09.06.2011 19:36

Re: IPv6-Kompatibilität von phpBB2

Beitrag von Andreas0815 »

Gelöst:

Code: Alles auswählen

function encode_ip($dotquad_ip)
{
	if (substr_count($dotquad_ip,":") > 0 && substr_count($dotquad_ip,".") == 0){
		// ipv6 - "::1" => "0000000000000000000000000001"(hex)
		// unconpress - "::1" => "0:0:0:0:0:0:0:1"
		if(strstr($dotquad_ip,"::" )){
			$e = explode(":", $dotquad_ip);
			$s = 8-sizeof($e)+1;
			foreach($e as $key=>$val){
				if ($val == ""){
					for($i==0;$i<=$s;$i++)
						$newip[] = 0;
				} else {
					$newip[] = $val;
				}
			}
			$dotquad_ip = implode(":", $newip);
		}
		$ip_sep = explode(':', $dotquad_ip);
		return sprintf('%04x%04x%04x%04x%04x%04x%04x%04x', hexdec($ip_sep[0]), hexdec($ip_sep[1]), hexdec($ip_sep[2]), hexdec($ip_sep[3]),hexdec($ip_sep[4]), hexdec($ip_sep[5]), hexdec($ip_sep[6]), hexdec($ip_sep[7]));
	} else {
		// ipv4 - "127.0.0.1" => "7F000001"
		$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)
{
	if ( strlen($int_ip) == 32){
                // ipv6 - "..." => ""
		$hexipbang = chunk_split($int_ip, 4, ':');
/*		$hexipbang = explode(':', chunk_split($int_ip, 4, ':'));
		//compress
		if(!strstr($hexipbang,"::" )){
			$e = explode(":", $hexipbang);
		        $zeros = array(0);
			$result = array_intersect ($e, $zeros );
			if (sizeof($result) >= 6){
				if ($e[0]==0) {$newip[] = "";}
				foreach($e as $key=>$val){
					if ($val !=="0"){
						$newip[] = $val;
					}
				}
				$hexipbang = implode("::", $newip);
			}
		}else{
			$hexipbang = implode(":", $hexipbang);
		}
*/		return $hexipbang;
        } else {
		// ipv4 - "7F000001" => "127.0.0.1"
		$hexipbang = explode('.', chunk_split($int_ip, 2, '.'));
		return hexdec($hexipbang[0]). '.' . hexdec($hexipbang[1]) . '.' . hexdec($hexipbang[2]) . '.' . hexdec($hexipbang[3]);
	}
}
Benutzeravatar
Dungeonwatcher
Mitglied
Beiträge: 635
Registriert: 11.07.2004 10:04
Wohnort: Berlin

Re: IPv6-Kompatibilität von phpBB2

Beitrag von Dungeonwatcher »

Moin! 8)

Großes Dankeschön. :)

Bye
MDuss
Mitglied
Beiträge: 267
Registriert: 06.02.2008 10:21

Re: IPv6-Kompatibilität von phpBB2

Beitrag von MDuss »

Hi Leute.
Und in welcher Datei muss ichdiese Änderung machen, bzw. an welcher Stelle?

Wenn ich noch andere Mods verwende, welche mit IP Adressen arbeiten, muss ich dann in den entsprechenden Dateien auch nach den IP-Funktionen suchen, oder reicht die Änderung von oben aus?
Wie ist das da so im allgemeinen?

THX

MfG
MDuss
wolfman24
Mitglied
Beiträge: 892
Registriert: 25.09.2005 13:17

Re: IPv6-Kompatibilität von phpBB2

Beitrag von wolfman24 »

MDuss hat geschrieben:Und in welcher Datei muss ichdiese Änderung machen, bzw. an welcher Stelle?
Steht alles im ersten Beitrag von Andreas0815, Dateiname und die zu ändernden Funktionen.
MDuss hat geschrieben:Wenn ich noch andere Mods verwende, welche mit IP Adressen arbeiten, muss ich dann in den entsprechenden Dateien auch nach den IP-Funktionen suchen, oder reicht die Änderung von oben aus?
Nicht, wenn diese Mods auf die Funktionen encode_ip() und decode_ip() zugreifen. Wenn nicht, dann sind wahrscheinlich Änderungen nötig.
MDuss
Mitglied
Beiträge: 267
Registriert: 06.02.2008 10:21

Re: IPv6-Kompatibilität von phpBB2

Beitrag von MDuss »

Hi wolfman24.

Danke für die Nachricht.
Da habe ich wohl vor lauter Bäume den Wald nicht mehr gesehen :oops: .

Aber noch eine andere Frage.

Im Eröffnungspost steht:
In der Datenbank habe ich die Länge der VARCHAR-Felder, in denen die IP-Adressen encoded gespeichert werden, bereits erhöht.
Auf was kann oder soll man die Feldlänge erhöhen?
Bei mir sind die Felder, welche die IP Speichern vom Typ char(8)
Auf welchen Wert muss man diese Felder erhöhen, damit das ganze richtig läuft?

MfG
MDuss
Benutzeravatar
Bachsau
Mitglied
Beiträge: 12
Registriert: 19.10.2011 06:28

Re: IPv6-Kompatibilität von phpBB2

Beitrag von Bachsau »

Soweit, wie eine IPv6 maximal groß sein kann. Setze sie auf VARCHAR(32). Dadurch wird kein Platz verschwendet, wenn IPv4 genutzt wird.

@Andreas0815: Danke für den Codeschnipsel. Hast du die Kürzungsfunktion im decode-Teil auskommentiert, weil du sie für sinnlos hältst, oder weil sie nicht funktioniert?
MDuss
Mitglied
Beiträge: 267
Registriert: 06.02.2008 10:21

Re: IPv6-Kompatibilität von phpBB2

Beitrag von MDuss »

Danke für die Nachricht Bachsau.

MfG
MDuss
Benutzeravatar
Bachsau
Mitglied
Beiträge: 12
Registriert: 19.10.2011 06:28

Re: IPv6-Kompatibilität von phpBB2

Beitrag von Bachsau »

In deinen Fall hatte sich das denke schon erledigt, oder? Der Post ist ja schon etwas älter.
MDuss
Mitglied
Beiträge: 267
Registriert: 06.02.2008 10:21

Re: IPv6-Kompatibilität von phpBB2

Beitrag von MDuss »

Meine Frage war schon etwas älter, dass stimmt, aber in der zwischenzeit und durch einen Wechsel des Servers hatte ich das hier aus den Augen verloren und sogar schon vergessen :oops: .

MfG
MDuss
Antworten

Zurück zu „phpBB 2.0: Administration, Benutzung und Betrieb“