Fehler in Update 2.0.15 - BBCode?

Allgemeiner Support zum phpBB 2 Board und phpBB 2 Modifikationen
Forumsregeln
Auch wenn hier der Support für phpBB 2 weiterhin aufrecht erhalten bleibt, weisen wir darauf hin, dass das phpBB 2 nicht mehr offiziell unterstützt und weiterentwickelt wird!
Antworten
Benutzeravatar
cbrkiter
Beiträge: 170
Registriert: Fr 26.Nov, 2004 01:30
Kontaktdaten:

Fehler in Update 2.0.15 - BBCode?

Beitrag von cbrkiter »

Deine phpBB Version: 2.0.15
Typ Deines phpBB Forums: Premodded phpBB
MODs: Ja
Dein Wissensstand: Grundwissen
Servus,

also ich habe das Problem scheinbar schon gelöst, aber ich wollte mal sicherheitshalber Eure Meinung lesen.

Ich habe das Update von 2.0.14 auf 2.0.15 bereits (inkl. fix) durchgeführt. Soweit hatte ich auch keine Probleme. Aber heute ist mir per Zufall aufgefallen, dass Links in der Version

Code: Alles auswählen

[url=http://meine-domain.de]link[/url]
in den Beiträgen nicht mehr korrekt umgesetzt wurde. Angezeigt wurde mir anstelle des formatierten Links der original BBCode.

Da meine letzte Änderung das Update von 2.0.14 auf 2.0.15 war, habe ich meinen Fehler dort vermutet. Dabei ist mir aber aufgefallen, dass der Fehler meiner Meinung nach nicht bei mir lag, sondern an dem Update.

Dort steht in Line 202-209:

Code: Alles auswählen

202#-----[ REPLACE WITH ]---------------------------------------------
203# 
204	// [url=xxxx://www.phpbb.com]phpBB[/url] code..
205	$patterns[] = "#\[url=([\w]+?://[^ \"\n\r\t<]*?)\]([^?].*?)\[/url\]#i";
206	$replacements[] = $bbcode_tpl['url3'];
207
208	// [url=www.phpbb.com]phpBB[/url] code.. (no xxxx:// prefix).
209	$patterns[] = "#\[url=((www|ftp)\.[^ \"\n\r\t<]*?)\]([^?].*?)\[/url\]#i";
In den Zeilen 205 und 209 habe ich bei die Modifikatoren "i" noch um "s" ergänzt. Danach funktionierte es wieder. Diese waren zuvor (also bis 2.0.14) auch noch vorhanden.

Somit sieht es bei mir nun so aus:

Code: Alles auswählen

202#-----[ REPLACE WITH ]---------------------------------------------
203# 
204	// [url=xxxx://www.phpbb.com]phpBB[/url] code..
205	$patterns[] = "#\[url=([\w]+?://[^ \"\n\r\t<]*?)\]([^?].*?)\[/url\]#is";
206	$replacements[] = $bbcode_tpl['url3'];
207
208	// [url=www.phpbb.com]phpBB[/url] code.. (no xxxx:// prefix).
209	$patterns[] = "#\[url=((www|ftp)\.[^ \"\n\r\t<]*?)\]([^?].*?)\[/url\]#is";
War dies nun ein Fehler in 2.0.15 oder beabsichtigt? Hätte ich es nicht tun sollen?
Zuletzt geändert von cbrkiter am Sa 21.Mai, 2005 02:13, insgesamt 1-mal geändert.
1. 'Man muss das Unm?gliche versuchen, um das M?gliche zu erreichen!' (Hermann Hesse)
2. 'The best way to learn something is to get your hands dirty and do it!' (keine Ahnung))
3. http://www.thw-kamen-bergkamen.de
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

\s ist der Schalter für Leerzeichen.
Prüfe mal, ob solche Links ohne Leerzeichen funktionieren.
Ich sag mal ja, denn in einem Link darf ja wigentlich kein Leerzeichen sein.
Und geändert wurde das absichtlich, damit man SQL-Injections verhindert!
Musst dann eben den Link-Namen auch ohne Leerzeichen schreiben. Nimm dann halt statt dessen z.B. ein "_".
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
AmigaLink
Beiträge: 5843
Registriert: Mi 03.Mär, 2004 09:05
Wohnort: NRW
Kontaktdaten:

Beitrag von AmigaLink »

Musst dann eben den Link-Namen auch ohne Leerzeichen schreiben. Nimm dann halt statt dessen z.B. ein "_".
Na das bring mal allen Usern bei, das sie Linkbeschreibungen ohne Leerzeichen machen müssen. :rolleyes:
[center].: Web Relax .::. Essen mit Freude .::. AmigaLink.de :.
______________________________________

Kein Support per PM, ICQ oder eMail!!!
[/center]
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Ich weiß, aber man öffnet sonst wieder eine Sicherheitslücke ;)
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
AmigaLink
Beiträge: 5843
Registriert: Mi 03.Mär, 2004 09:05
Wohnort: NRW
Kontaktdaten:

Beitrag von AmigaLink »

Hmmm?!? - Nicht wirklich.
Immerhin wird ein Link nur vom Board dargestellt und nicht ausgeführt. ;)

Agesehen davon, wird das s ja nur bei diesem Code

Code: Alles auswählen

// [url=www.phpbb.com]phpBB[/url] code.. (no xxxx:// prefix). 
$patterns[] = "#\[url=((www|ftp)\.[^ \"\n\r\t<]*?)\]([^?].*?)\[/url\]#is";
eingefügt werden. Bei allen anderen steht ja eh keine Linkbeschreibung zur verfügung. ;)
Zuletzt geändert von AmigaLink am Sa 21.Mai, 2005 23:45, insgesamt 1-mal geändert.
[center].: Web Relax .::. Essen mit Freude .::. AmigaLink.de :.
______________________________________

Kein Support per PM, ICQ oder eMail!!!
[/center]
Benutzeravatar
cbrkiter
Beiträge: 170
Registriert: Fr 26.Nov, 2004 01:30
Kontaktdaten:

Beitrag von cbrkiter »

So, bin jetzt erst wieder daheim. Daher konnte ich noch nicht wieder mitreden.

Das der Schalter \s für Leerzeichen und Zeilenwechsel ist weiß ich ja. Daher ist es mir nämlich aufgefallen. Der Text zwischen den "Url-Tags" wurde formatiert und hatte zufällig noch vor dem "Schließentag" einen Zeilenwechsel. (Warum auch immer, aber ich schreib ja nicht alle Beiträge selber) Wie auch immer, ich denke gerade durch zusätzliche Formatierungen (Beispiel: andere Schriftgröße) des Links kann es doch sehr schnell "unschön" wirken. Und dies nun allen Usern zu verklickern wird schwierig. Vor allem nun alle Beiträge nachträglich rauszusuchen, wo man das alles ändern muss, damit die Links auch alle funktionieren ist mir zu mühsälig. Da müsste es doch andere Möglichkeit geben, um SQL-Injections zu vermeiden.

[quote="AmigaLink - Sa 21.Mai, 2005 23:44";p="32635"]Hmmm?!? - Nicht wirklich.
Immerhin wird ein Link nur vom Board dargestellt und nicht ausgeführt. ;)
.....
Bei allen anderen steht ja eh keine Linkbeschreibung zur verfügung. ;)[/quote]

Ganz verstehen tu ich dies nun auch nicht, warum man hier nun überhaupt SQL-Injections betreiben kann. Wo steht denn die Funktion, die hieraus irgendwas ausführen soll? Rein von der Darstellung wäre da keine. Wenn, dann müsste der doch ausgeführt werden, wenn ein geschriebener Beitrag abgesendet wird oder ein Beitrag aus der Datenbank gelesen und "aufbereitet wird. Wo ist aber dabei die Möglichkeit noch irgendwelche SQL-Anweisungen auszuführen? Ich würde also freiweillig helfen an der Stelle mitzuwirken, um das Sicherheitsloch an einer anderen Stelle "zu stopfen". Ich müsste dazu nur wissen, wo ich anfangen zu suchen sollte.
1. 'Man muss das Unm?gliche versuchen, um das M?gliche zu erreichen!' (Hermann Hesse)
2. 'The best way to learn something is to get your hands dirty and do it!' (keine Ahnung))
3. http://www.thw-kamen-bergkamen.de
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Vielleicht noch ein "Z" (großgeschrieben!) am Ende einfügen?
Das prüft auf Zeilenende. Behebt aber nicht, daß der Link ja "weitergeht".
Man könnte auch "\n" in das Suchmuster mit aufnehmen, bzw. ein zweites Suchmuster inkl. "\n" erstellen, um halt auch Links mit einem Zeilenumbruch zu ersetzen.
Aber mal ernsthaft: Wie b... muss jemand sein, einen Link umgebrochen zu posten?
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
cbrkiter
Beiträge: 170
Registriert: Fr 26.Nov, 2004 01:30
Kontaktdaten:

Beitrag von cbrkiter »

[quote="oxpus - So 22.Mai, 2005 19:22";p="32722"]
Aber mal ernsthaft: Wie b... muss jemand sein, einen Link umgebrochen zu posten?[/quote]

Ich weiß. Ich geb Dir ja recht. Ich wäre auch nicht auf die Idee gekommen. Aber ich kann es nunmal nicht verhindern. Wobei man den Zeilenumbruch ruhig ausschließen kann. Das müssen die Leute dann einfach lernen. Aber was ich selber gerne nutze, dass ist die Verwendung einer größeren Schrift (zwangsweise im BBCode ein Leerzeichen) für Links oder durch Ergänzung von Sonderzeichen drumrum (Beispiel: >> Links <<). Und schon habe ich die Leerzeichen auch wieder. :rolleyes:
1. 'Man muss das Unm?gliche versuchen, um das M?gliche zu erreichen!' (Hermann Hesse)
2. 'The best way to learn something is to get your hands dirty and do it!' (keine Ahnung))
3. http://www.thw-kamen-bergkamen.de
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Also das "s" lasse ich mir ja noch gefallen, aber Deine User sollten sich mal ehrlich fragen, ob sie im Browser Links denn nun auch mit einem Umbruch eingeben.
Das ist wirkich dann zuviel des Guten.
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
AmigaLink
Beiträge: 5843
Registriert: Mi 03.Mär, 2004 09:05
Wohnort: NRW
Kontaktdaten:

Beitrag von AmigaLink »

Also zu dem Zeilenumbruch fällt mir auch nur das ein => :hh: :nono
[center].: Web Relax .::. Essen mit Freude .::. AmigaLink.de :.
______________________________________

Kein Support per PM, ICQ oder eMail!!!
[/center]
Benutzeravatar
cbrkiter
Beiträge: 170
Registriert: Fr 26.Nov, 2004 01:30
Kontaktdaten:

Beitrag von cbrkiter »

:D ¦2 ich geb Euch beiden doch recht. Keine Frage. Vielleicht war denen auch das Eingabefeld im Formular zu unübersichtlich, so dass sie vor dem Schließentag die Zeile gewechselt haben.

Was weiß denn ich, warum sie sowas machen. :wuah:

Mir ist es doch auch nur dadurch bewusst geworden ¦1

Ich glaube, ich muss nun einfach mit diesem Schicksal leben :hh:
Auf jeden Fall weiß ich jetzt, dass es kein Fehler in 2.0.15 war, sondern gewollt ist..
1. 'Man muss das Unm?gliche versuchen, um das M?gliche zu erreichen!' (Hermann Hesse)
2. 'The best way to learn something is to get your hands dirty and do it!' (keine Ahnung))
3. http://www.thw-kamen-bergkamen.de
Antworten