BBCodes für bestimmte Nutzer sperren

Du hast Probleme beim Einbau oder bei der Benutzung eines Mods? In diesem Forum bist du richtig.
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
Beloved Angel
Mitglied
Beiträge: 4
Registriert: 25.05.2008 14:25

BBCodes für bestimmte Nutzer sperren

Beitrag von Beloved Angel »

Hallo Forum,

nachdem das Snippet http://www.phpbb.de/viewtopic.php?t=151867 zum Sperren von Gästebildern nicht den gewünschten Effekt hatte habe ich etwas rumprobiert. Die Gäste konnten zwar keine Bilder mehr posten aber der Link stand trotzdem klickbar im Posting und der Rest des Pornospams war auch noch zu lesen. Wenn man die Fehlermeldung des Snippets eingebaut hatte wurden sogar alle Gästeposts unterbunden.

Mit der Variante die ich zusammengelötet habe wird auf das Vorkommen von den IMG-Tags (durch stripos() wird auf Groß- und Kleinschreibung geprüft) im Text gesucht und wenn die User_id auf ANONYMOUS steht eine Fehlermeldung ausgegeben und der Beitrag wird nicht gesendet. Was für automatische Spam-Routinen bisher ausreichte um diese Postings komplett zu unterbinden.

Code: Alles auswählen

#
#-----[ Öffne ]------------------------------------------
#

includes/bbcode.php

#
#-----[ Finde ]------------------------------------------
#

function bbencode_first_pass($text, $uid)
{

#
#-----[ Füge danach ein ]-------------------------------------------
#

// Lade Globale Variable für Benutzer.
	global $userdata;

#
#-----[ Finde ]------------------------------------------
#

// [img]image_url_here[/img] code..

	$text = preg_replace("#\[img\]((http|ftp|https|ftps)://)([^ \?&=\#\"\n\r\t<]*?(\.(jpg|jpeg|gif|png)))\[/img\]#sie", "'[img:$uid]\\1' . str_replace(' ', '%20', '\\3') . '[/img:$uid]'", $text);
	
#
#-----[ Ersetze mit ]-------------------------------------------
#

// [img]image_url_here[/img] code..

// Eingeloggte Nutzer dürfen Bilder posten
	
	if($userdata['session_logged_in'] && $userdata['user_id'] != ANONYMOUS)
	{
   	$text = preg_replace("#\[img\]((http|ftp|https|ftps)://)([^ \?&=\#\"\n\r\t<]*?(\.(jpg|jpeg|gif|png)))\[/img\]#sie", "'[img:$uid]\\1' . str_replace(' ', '%20', '\\3') . '[/img:$uid]'", $text);
	} 

// Unterbindung von Gästebildern
	
	if($userdata['user_id'] == ANONYMOUS && (stripos($text,"[IMG]") !== false))
	{
	message_die(GENERAL_MESSAGE,'Es ist Gästen nicht erlaubt Bilder in ihre Beiträge zu stellen. Bitte entferne die Bilder aus deinem Beitrag','Bilder verboten'); 
	}


Beloved Angel
Mitglied
Beiträge: 4
Registriert: 25.05.2008 14:25

Beitrag von Beloved Angel »

Als Erweiterung zum obereren Snippet habe ich noch eine Abfrage zu verbotenen Worten gebaut. Diese lässt die Spam-Robots zwar absenden aber nicht posten weil da die Fehlermeldung auftritt. Ich habe die Funktion in die bbcode.php eingebaut weil diese Datei ja eh abläuft wenn ein Posting erstellt wird

Code: Alles auswählen


#
#-----[ Öffne ]-------------------------------
#

includes/bbcode.php

#
#-----[ Finde ]------------------------------------------
#

function bbencode_first_pass($text, $uid)
{

#
#-----[ Füge danach ein ]-------------------------------------------
#

// Lade Globale Variable für Benutzer.
   global $userdata; 

#
#-----[ Finde ]-------------------------------
#

// This is important; bbencode_quote(), bbencode_list(), and bbencode_code() all depend on it.
	$text = " " . $text;

#
#-----[ Füge danach ein ]------------------
#


// Verbotene Worte im Array einsetzen. 

if($userdata['user_id'] == ANONYMOUS)
	{
	$wort = array("viagra", "cialis", "levitra", "sex");
   	foreach ( $wort as $gesucht)
   	{
      if ( stripos($text, $gesucht) !== false )
 	{ 
	message_die(GENERAL_MESSAGE,'Es ist Gästen nicht erlaubt Werbung oder anstößige Inhalte in ihre Beiträge zu stellen. Bitte entferne die betreffenden Stellen aus deinem Beitrag','Verbotene Inhalte entdeckt'); 
    }
	}
	}
Antworten

Zurück zu „phpBB 2.0: Mod Support“