Massenqoutes?

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.
Antworten
nasir
Mitglied
Beiträge: 125
Registriert: 14.03.2005 16:05
Kontaktdaten:

Massenqoutes?

Beitrag von nasir »

gibt es eine Lösung womit man Massenqoutes einstellen kann? In mein Forum versuche irgendwelche Spammer Massenqoutes und sprengen das Template. Ich will hier nicht vor machen, aber der Code vertieft sich innerlich 100 mal.

z.B. 10 Zitate,

bei ca 50 wird das template gesprengt und man schreibt im Hintergrund weiter.

Und das nervt.
Benutzeravatar
gn#36
Ehrenadmin
Beiträge: 9313
Registriert: 01.10.2006 16:20
Wohnort: Ganz in der Nähe...
Kontaktdaten:

Beitrag von gn#36 »

Hier mal eine Kurzform wie du das ganze auf z.b. 10 begrenzen kannst. Alle anderen werden der Einfachheit durch den Text [ERROR] bzw. [/ERROR] ersetzt.

öffne bbcode.php

finde

Code: Alles auswählen

if ($open_is_regexp)
						{
							$start_tag = preg_replace($open_tag[$start_tag_index], $open_regexp_replace[$start_tag_index], $start_tag);
						}
ersetze durch

Code: Alles auswählen

if ($open_is_regexp && $curr_nesting_depth < 10)
						{
							$start_tag = preg_replace($open_tag[$start_tag_index], $open_regexp_replace[$start_tag_index], $start_tag);
						}
						elseif($open_is_regexp)
						{
							$start_tag = preg_replace($open_tag[$start_tag_index],"[ERROR]",$start_tag);
						}
Suche

Code: Alles auswählen

if ($open_is_regexp)
								{
									$text = $before_start_tag . $start_tag;
								}
else
								{
									$text = $before_start_tag . substr($start_tag, 0, $start_length - 1) . ":$uid]";
								}
ersetze durch

Code: Alles auswählen

if ($open_is_regexp)
								{
									$text = $before_start_tag . $start_tag;
								}
								elseif($curr_nesting_depth < 10)
								{
									$text = $before_start_tag . substr($start_tag, 0, $start_length - 1) . ":$uid]";
								}
								else
								{
									$text = $before_start_tag . "[ERROR]";
								}
direkt darunter das hier:

Code: Alles auswählen

$text .= $between_tags . substr($close_tag_new, 0, $close_tag_new_length - 1) . ":$uid]";
durch das hier ersetzen:

Code: Alles auswählen

if($curr_nesting_depth < 10)
								{
									$text .= $between_tags . substr($close_tag_new, 0, $close_tag_new_length - 1) . ":$uid]";
								}
								else
								{
									$text .= $between_tags . "[/ERROR]";
								}
Ist zwar auch nicht unbedingt hübsch, aber sollte zumindest den Breakup verhindern. Du kannst die [ERROR] und [/ERROR] auch durch leere Strings ersetzen, nur
bzw.
sollte nicht rein, das könnte zu Endlosschleifen führen (im Prinzip könntest du nach den Ersetzungen [ERROR] und [/ERROR] wieder durch die Originale ersetzen, das habe ich aber jetzt mal nicht ausgeführt).
Bitte vor den Änderungen ein Backup machen.
Bei 50 Quotes sollte das ganze dann so aussehen:
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.
Antworten

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