2.0.15: [url] BBcode Bug?

Eine Neuinstallation von phpBB 2.0 wird auf phpBB.de nicht mehr unterstützt.
Siehe auch Entwicklungs-Ende von phpBB 2.0 - Auswirkungen auf phpBB.de
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.

Eine Neuinstallation von phpBB 2.0 wird auf phpBB.de nicht mehr unterstützt.
Siehe auch Entwicklungs-Ende von phpBB 2.0 - Auswirkungen auf phpBB.de
Benutzeravatar
Saint
Mitglied
Beiträge: 1166
Registriert: 09.04.2004 14:06
Wohnort: Hamburg
Kontaktdaten:

2.0.15: [url] BBcode Bug?

Beitrag von Saint »

Tach, wenn ich

einen Link ohne Absatz formatiere funktioniert er
Sobald ich einen Absatz einbaue:
Dann nicht mehr.

Früher ging das definitiv, nach dem Update auf die 2.0.15 nicht mehr.

Gibts dafür schon einen Fix, bzw ist das Thema schon durchgekaut worden?

Gruß

Saint
Zuletzt geändert von Saint am 20.06.2005 22:00, insgesamt 1-mal geändert.
Mario Siebert
Mitglied
Beiträge: 2295
Registriert: 09.12.2003 15:02
Wohnort: Irgendwo im Nirgendwo

Beitrag von Mario Siebert »

Wer gegen eine geringe Gebühr (höhe der Gebühr bestimmst du selbst!!) ein phpBB installiert oder Mods eingebaut haben möchte sollte sich melden unter: netcom_service@gmx.net - Bisherige Aufträge 68.071
Auf Anfrage führe ich auch Reparaturen/Updates und Serverumzüge durch oder baue Mods!
Benutzeravatar
Saint
Mitglied
Beiträge: 1166
Registriert: 09.04.2004 14:06
Wohnort: Hamburg
Kontaktdaten:

Beitrag von Saint »

Echt? Dann schau mal hier.
Da hab ich mich nur mal meinen Post von oben zitiert.
Das ist pures, ungemoddetes 2.0.14, frisch von phpbb.com runtergeladen. Einzig die deutsche Anpassung hab ich gemacht.
Zuletzt geändert von Saint am 13.06.2005 22:26, insgesamt 1-mal geändert.
Benutzeravatar
Saint
Mitglied
Beiträge: 1166
Registriert: 09.04.2004 14:06
Wohnort: Hamburg
Kontaktdaten:

Beitrag von Saint »

Ich hab noch mal geschaut und die alte Codepassage, vor dem Update auf die 2.0.15, eingefügt - dann wird der Link auch mit Absatz korrekt angezeigt.

Hier liegt der Hund begraben (aus der "phpBB 2.0.14 to phpBB 2.0.15 Code Changes"):

Code: Alles auswählen

# 
#-----[ OPEN ]--------------------------------------------- 
# 
includes/bbcode.php

#
#-----[ FIND ]---------------------------------------------
# Line 210
	// [url=xxxx://www.phpbb.com]phpBB[/url] code..
	$patterns[] = "#\[url=([\w]+?://[^ \"\n\r\t<]*?)\](.*?)\[/url\]#is";
	$replacements[] = $bbcode_tpl['url3'];

	// [url=www.phpbb.com]phpBB[/url] code.. (no xxxx:// prefix).
	$patterns[] = "#\[url=((www|ftp)\.[^ \"\n\r\t<]*?)\](.*?)\[/url\]#is";

#
#-----[ REPLACE WITH ]---------------------------------------------
# 
	// [url=xxxx://www.phpbb.com]phpBB[/url] code..
	$patterns[] = "#\[url=([\w]+?://[^ \"\n\r\t<]*?)\]([^?].*?)\[/url\]#i";
	$replacements[] = $bbcode_tpl['url3'];

	// [url=www.phpbb.com]phpBB[/url] code.. (no xxxx:// prefix).
	$patterns[] = "#\[url=((www|ftp)\.[^ \"\n\r\t<]*?)\]([^?].*?)\[/url\]#i";
Genauer gesagt in dieser Zeile:

Code: Alles auswählen

	$patterns[] = "#\[url=([\w]+?://[^ \"\n\r\t<]*?)\]([^?].*?)\[/url\]#i";
Hat jemand eine Idee wie man das fixen kann, ohne den alten Code wieder einzufügen?
Oder kann mir jemand erklären was die Änderungen bewirken? Es ist ja "nur" (.*?) gegen ([^?].*?) und #is gegen #i getauscht worden.
Benutzeravatar
chybo
Mitglied
Beiträge: 336
Registriert: 25.04.2004 22:27
Wohnort: Bremen
Kontaktdaten:

Beitrag von chybo »

Auch ich hätte dazu gern eine Antwort... habs auch schon in einem anderen Beitrag geschrieben :grin:

Guckst Du
Grüssle

Katja
Benutzeravatar
Saint
Mitglied
Beiträge: 1166
Registriert: 09.04.2004 14:06
Wohnort: Hamburg
Kontaktdaten:

Beitrag von Saint »

Also eine schnelle Lösung ist das einfügen der alten Codeline:

Öffne includes/bbcode.php

finde:

Code: Alles auswählen

$patterns[] = "#\[url=([\w]+?://[^ \"\n\r\t<]*?)\]([^?].*?)\[/url\]#i"; 
ersetze durch:

Code: Alles auswählen

$patterns[] = "#\[url=([\w]+?://[^ \"\n\r\t<]*?)\](.*?)\[/url\]#is"; 
Dann funktioniert das wieder, hab ich schon probiert.
Damit wärst du aber mit dieser Codezeile wieder auf dem Stand der 2.0.14 - was auch nicht der wahre Jakob sein kann.
Ich weiß auch leider nicht was die Änderungen bewirken und in wie weit das einfügen der alten Codeline evtl. die Sicherheit beeinflusst.

Gruß

Saint
Benutzeravatar
Saint
Mitglied
Beiträge: 1166
Registriert: 09.04.2004 14:06
Wohnort: Hamburg
Kontaktdaten:

Beitrag von Saint »

Das Thema ist leider immer noch nicht geklärt. :(
Ich hab auch noch mal ein blankes 2.0.14, runtergeladen von phpbb.com (nur eingedeutscht), zum testen installiert. Hier könnt ihr das selbst ausprobieren, das ging 100% vorher.
Das soll jetzt auch nicht irgendeine Rumreiterei sein, nur weil ich mal was entdeckt hab. Die Sache ist die, das in einigen meiner Foren Links mit Absatz drin erstellt wurden, das meine User also gern mal machen und auf eine anderer Seite von mir häufig eingesetzt wurde. Weil z.B. ein kurzer Text kommt, ein Absatz und dann eine Thumbnailvorschau. Das ganze ist dann ein zusammenhängender Link zu einer Galerie.
Das ganze lässt sich dann natürlich so lösen, das man einfach mehrere Codes setzt (pro Zeile einen). Das mus ... ]phpbb.com habe ich auch einen Thread gestartet, bin aber noch nicht wirklich weit gekommen.

Gruß

Saint
Christian_W
Ehemaliges Teammitglied
Beiträge: 5703
Registriert: 26.02.2004 00:09

Beitrag von Christian_W »

Ich kann Dir sagen woran es liegt aber nicht warum das geändert wurde.
Der Grund ist das fehlende s am Ende.
http://de.php.net/manual/de/reference.p ... ifiers.php

Gruß Christian
---
Benutzeravatar
Saint
Mitglied
Beiträge: 1166
Registriert: 09.04.2004 14:06
Wohnort: Hamburg
Kontaktdaten:

Beitrag von Saint »

http://de.php.net/manual/de/reference.pcre.pattern.modifiers.php - s (PCRE_DOTALL) hat geschrieben:Ohne diesen Modifikator sind Zeilenumbrüche ausgeschlossen.
Jo - alles klar, dann ist das der Übeltäter.
Und so wie es aussieht ist das auch seine einzige Funktion. Korregiert mich, aber dann kann man doch ohne größere Bedenken einfach das S wieder in die 2.0.15 Zeile einfügen. Oder entsteht ein mögliches Einfallstor, in Verbindung mit Links, wenn man den Modifier S nutzt? Sonst ist das S noch beim [img] Tag rausgenommen worden.

Dann könnte die Zeile also umgeschrieben werden:

Öffne includes/bbcode.php

suche:

Code: Alles auswählen

$patterns[] = "#\[url=([\w]+?://[^ "\n\r\t<]*?)\]([^?].*?)\[/url\]#i";
ersetzte durch:

Code: Alles auswählen

$patterns[] = "#\[url=([\w]+?://[^ "\n\r\t<]*?)\]([^?].*?)\[/url\]#is";
Und das funktioniert.

Danke Christian! :grin:


Gruß

Saint
Christian_W
Ehemaliges Teammitglied
Beiträge: 5703
Registriert: 26.02.2004 00:09

Beitrag von Christian_W »

Saint hat geschrieben:Oder entsteht ein mögliches Einfallstor, in Verbindung mit Links, wenn man den Modifier S nutzt?
Ich hab nicht die leiseste Ahnung. :-?
Saint hat geschrieben:Sonst ist das S noch beim [img] Tag rausgenommen worden.
Das könnte dann dazu passen:
docs/CHANGELOG.html hat geschrieben:Changes since 2.0.14
Empty url/img bbcodes no longer get parsed
Gruß Christian
---
Gesperrt

Zurück zu „phpBB 2.0: Installation und Update“