Sicherheit durch phpbb-prepare_message in eigenem script?

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Antworten
Xwitz
Mitglied
Beiträge: 1104
Registriert: 21.06.2005 21:41

Sicherheit durch phpbb-prepare_message in eigenem script?

Beitrag von Xwitz »

Hallo, ich brauche Hilfe von jemandem, der in den Funktionen von phpbb drin steckt.

Ich wollte mir abschauen, wie phpbb die Nachricht vor dem Speichern aufbereitet um sql-Injection u.ä zu unterbinden, aber ich sehe in den vielen Funktionen, Variablen und Dateien nicht durch. Also habe ich mir überlegt, die Funktionen direkt zu nutzen (für ein eigenes Script, in einer in phpbb eingebundenen Seite, die Texte werden in einer eigenen Tabelle gespeichert, kein bbcode o.ä.).

Nur reicht es das:

Code: Alles auswählen

...
include($phpbb_root_path . 'includes/functions_post.'.$phpEx);
...
$message = prepare_message(trim($message), '', '', '', '');
...
oder lasse ich dann was entscheidendes aus?
Benutzeravatar
Dr.Death
Moderator
Moderator
Beiträge: 17476
Registriert: 23.04.2003 08:22
Wohnort: Xanten
Kontaktdaten:

Beitrag von Dr.Death »

Hi,

prepare_message wird nur genutzt um HTML, BBCODE, SMILIES usw vorzubereiten.

ein zusätzliches "trim" ist nicht erforderlich, da in der Funktion bereits ein:

Code: Alles auswählen

	//
	// Clean up the message
	//
	$message = trim($message);
enthalten ist.
Xwitz
Mitglied
Beiträge: 1104
Registriert: 21.06.2005 21:41

Beitrag von Xwitz »

Das heißt dann wohl, daß es nicht reicht.
Benutzeravatar
gn#36
Ehrenadmin
Beiträge: 9313
Registriert: 01.10.2006 16:20
Wohnort: Ganz in der Nähe...
Kontaktdaten:

Beitrag von gn#36 »

Es gibt da eine sehr ähnlich lautende Funktion namens prepare_post die du dir vielleicht anschauen solltest. Die benutzt auch prepare Message. prepare_message ist sicher nicht falsch.
Begegnungen mit dem Chaos sind fast unvermeidlich, Aber nicht katastrophal, solange man den Durchblick behält.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
Xwitz
Mitglied
Beiträge: 1104
Registriert: 21.06.2005 21:41

Beitrag von Xwitz »

Über die Funktion prepare_post bin ich erst auf die prepare_message gestoßen und soweit ich sehe, macht die Funktion mit $message nur eins, sie durch die Funktion prepare_message zu schicken. Ich kann zumindest nicht erkennen, wie in einer von den beiden Funktionen eine sql injections verhindert wird.

Ich verwende bisher unter anderem mysql_real_escape_string (addslashes bei phpbb) aber das hat keinen Einfluß z.B. auf ";" und "--". Deshalb habe ich auch eine Whitelist für erlaubte Zeichen und ersetze mehr als einen Bindestrich am Stück aber das ist mir eigentlich zu restriktiv.
Antworten

Zurück zu „Coding & Technik“