Überlastung der Suchfunktion
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.
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.
- Waagenbauer
- Mitglied
- Beiträge: 219
- Registriert: 11.06.2001 02:00
- Kontaktdaten:
Überlastung der Suchfunktion
Folgendes, gerade entdeckt:
Wenn man als Suchanfrage unter Author ein '*' oder ein '%' (Platzhalter) als einziges Zeichen eingibt sucht das phpBB sich blöde.
Bei mir wurde das absichtlich, oder wie auch immer, durchgeführt, und legte das Forum für 3 Minuten lahm. Bei großen Foren ist das fatal.
Ich nenne das mal Sicherheitsloch.
Ich habe schon nach einem Fix dafür gesucht. Bisher nix gefunden.
Es müsste abgefragt werden, wie lange das Suchwort für Text und Author ist, sollten min. 3 Zeichen haben, sonst Fehler.
BITTE HIER NICHT TESTEN !!!!!!
Titel geändert - es handelt sich nicht um eine Sicherheitslücke (Schumi)
Wenn man als Suchanfrage unter Author ein '*' oder ein '%' (Platzhalter) als einziges Zeichen eingibt sucht das phpBB sich blöde.
Bei mir wurde das absichtlich, oder wie auch immer, durchgeführt, und legte das Forum für 3 Minuten lahm. Bei großen Foren ist das fatal.
Ich nenne das mal Sicherheitsloch.
Ich habe schon nach einem Fix dafür gesucht. Bisher nix gefunden.
Es müsste abgefragt werden, wie lange das Suchwort für Text und Author ist, sollten min. 3 Zeichen haben, sonst Fehler.
BITTE HIER NICHT TESTEN !!!!!!
Titel geändert - es handelt sich nicht um eine Sicherheitslücke (Schumi)
- Waagenbauer
- Mitglied
- Beiträge: 219
- Registriert: 11.06.2001 02:00
- Kontaktdaten:
Gottseihdank hier ist der Fix:
http://www.phpbb.com/phpBB/viewtopic.ph ... 57#1061457
Ist das hier schon gefixt?
'*' ergab 56533 Suchergebnisse
http://www.phpbb.com/phpBB/viewtopic.ph ... 57#1061457
Ist das hier schon gefixt?
'*' ergab 56533 Suchergebnisse

- Waagenbauer
- Mitglied
- Beiträge: 219
- Registriert: 11.06.2001 02:00
- Kontaktdaten:
Hier ist jetzt mein Fix, der nur Autoren-Suche ab 3 Zeichen mit * bzw. % zulässt, zusammen mit dem Fix von oben:
Suche in search.php:
Ersetze:
Durch:
Suche in search.php:
Code: Alles auswählen
$search_author = str_replace('*', '%', trim($search_author));
Code: Alles auswählen
$sql = "SELECT user_id
FROM " . USERS_TABLE . "
WHERE username LIKE '" . str_replace("\'", "''", $search_author) . "'";
Code: Alles auswählen
// Fix by Waagenbauer
if ( strlen( str_replace('%', '', $search_author) ) < 3 )
{
message_die(GENERAL_ERROR, "Couldn't obtain list of matching users (searching for: $search_author)");
}
$author_sql = (strstr($search_author, '%')) ? "LIKE '" . str_replace("\'", "''", $search_author) . "'" : "='" . str_replace("\'", "''", $search_author) . "'";
//$sql = "SELECT user_id
// FROM " . USERS_TABLE . "
// WHERE username LIKE '" . str_replace("\'", "''", $search_author) . "'";
$sql = "SELECT user_id
FROM " . USERS_TABLE . "
WHERE username " . $author_sql;
Zuletzt geändert von Waagenbauer am 17.11.2004 23:23, insgesamt 1-mal geändert.
http://www.kaltmacher.de - Die Seite für PC-Freaks und Profis.
-
- Mitglied
- Beiträge: 17
- Registriert: 08.11.2004 16:11
Interessant!
Eine sinnvollere Fehlermeldung wäre
Danke für den Hinweis und den Fix!
Kleo
Eine sinnvollere Fehlermeldung wäre
Code: Alles auswählen
// Fix by Waagenbauer
if ( strstr($search_author, '%') && strlen($search_author) < 3 )
{
message_die(GENERAL_ERROR, "Your author search keyword is below 3 characters, please go back and increase the length of the search keyword or choose a different keyword for author.");
}
...
Kleo
In neueren Versionen von phpBB ist eine Abbruch-Routine dabei, die nur eine begrenzte Version von Sucherergebnissen zurückgibt. Vermutlich hat sich damit auch das geschilderte Problem gelöst - müsste ich mir aber noch mal anschauen.
Gruß, Philipp
Gruß, Philipp
Kein Support per PN!
Der Sozialstaat ist [...] eine zivilisatorische Errungenschaft, auf die wir stolz sein können. Aber der Sozialstaat heutiger Prägung hat sich übernommen. Das ist bitter, aber wahr. (Horst Köhler)
Meine Mods
Der Sozialstaat ist [...] eine zivilisatorische Errungenschaft, auf die wir stolz sein können. Aber der Sozialstaat heutiger Prägung hat sich übernommen. Das ist bitter, aber wahr. (Horst Köhler)
Meine Mods
- Waagenbauer
- Mitglied
- Beiträge: 219
- Registriert: 11.06.2001 02:00
- Kontaktdaten:
Ich habe meinen Fix oben noch mal verbessert:
Jetzt werden in der Suchanfrage $search_author erstmal alle % rausgefiltert und dann geprüft.
Das hat den Vorteil, wenn mehrere * oder % (werden wieder als ein Platzhalter interpretiert) eingegeben werden, wird auch eine Fehlermeldung ausgegeben.
Z.B. bei:
***
d**
%%%%%
%%%d%%%
Hierbei muss man jetzt min 3 Zeichen eingeben um Autoren zu suchen, z.B. 'dow*' für alle die mit 'dow' anfangen.
Code: Alles auswählen
// Fix by Waagenbauer
if ( strlen( str_replace('%', '', $search_author) ) < 3 )
{
message_die(GENERAL_ERROR, "Couldn't obtain list of matching users (searching for: $search_author)");
}
Das hat den Vorteil, wenn mehrere * oder % (werden wieder als ein Platzhalter interpretiert) eingegeben werden, wird auch eine Fehlermeldung ausgegeben.
Z.B. bei:
***
d**
%%%%%
%%%d%%%
Hierbei muss man jetzt min 3 Zeichen eingeben um Autoren zu suchen, z.B. 'dow*' für alle die mit 'dow' anfangen.
-
- Mitglied
- Beiträge: 528
- Registriert: 03.09.2004 15:54
- Waagenbauer
- Mitglied
- Beiträge: 219
- Registriert: 11.06.2001 02:00
- Kontaktdaten:
Das kann ja nicht sein. Dann hast du das falsch eingebaut.Garfield312 hat geschrieben:@Waagenbauer:
Dein Fix hat meine komplette Suchfunktion (2.0.10) lahmgelegt.
Keinerlei Ergebnisse mehr, egal nach welchem Wort.
Wenn der Patch nicht gehen sollte, funzt nur die Suche nach Autoren nicht mehr. Falls bei Aufruf von search.php eine Fehlermeldung kommt, hast du den Code falsch eingesetzt oder einen Syntax-Fehler verursacht.
Ich muss ja jetzt nicht erklären, wie man einen Patch einbaut? Das sollte man schon drauf haben und sich ein wenig mit dem phpBB und PHP auskennen.
Bei mir funzt das jedenfalls.
-
- Mitglied
- Beiträge: 528
- Registriert: 03.09.2004 15:54
@Waagenbauer:
Einen kleinen Patch einzubauen, ist nicht wirklich ein Problem für mich
Ich habe nix falsch eingebaut, es erschien auch keine Fehlermeldung, die Seite ließ sich ganz normal aufrufen.
Die Suche egal nach was erbrachte einfach kein Ergebnis mehr.
Patch wieder raus, Orig rein -> funzt wieder.
Einen kleinen Patch einzubauen, ist nicht wirklich ein Problem für mich

Ich habe nix falsch eingebaut, es erschien auch keine Fehlermeldung, die Seite ließ sich ganz normal aufrufen.
Die Suche egal nach was erbrachte einfach kein Ergebnis mehr.
Patch wieder raus, Orig rein -> funzt wieder.