Suche nach Beiträgen von Usern mit Namen mit einem Buchstabe
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.
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.
- honk_alert
- Mitglied
- Beiträge: 152
- Registriert: 02.10.2005 08:12
Suche nach Beiträgen von Usern mit Namen mit einem Buchstabe
Die Suche ergibt dann keine Ergebnisse, obwohl die Leute natürlich auch was geschrieben haben...
mfg
honk
mfg
honk
- honk_alert
- Mitglied
- Beiträge: 152
- Registriert: 02.10.2005 08:12
Hi!
Beachten
Folgende Tabellen bei dir weden leer sein:
_search_results
_search_wordlist
_search_wordmatch
Deshalb installierst du diesen mod:
http://phpbbhacks.com/download/434
Der stellt diese Tabellen wieder her.
Felix
Beachten
Folgende Tabellen bei dir weden leer sein:
_search_results
_search_wordlist
_search_wordmatch
Deshalb installierst du diesen mod:
http://phpbbhacks.com/download/434
Der stellt diese Tabellen wieder her.
Felix
- honk_alert
- Mitglied
- Beiträge: 152
- Registriert: 02.10.2005 08:12
- cYbercOsmOnauT
- Ehemaliges Teammitglied
- Beiträge: 3820
- Registriert: 18.02.2004 23:02
- Wohnort: Göttingen
- Kontaktdaten:
Das Problem ist wegen folgender Zeilen im search.php (Normal Zeilen 200-203)
Der zweite Teil dieser If-Abfrage prüft, ob die Eingabe des Usernamens 1 oder 2 Zeichen hat, wenn ja, wird der Username (ohne * gezählt) auf '' (also nichts) gesetzt. Dies dient wohl dazu das man z.B. durch eine Suche nach *e* als Usernamen die Performance des Boards in die Knie zwingt weil "unendlich viele" Results herauskommen.
Gruß,
Tekin
Code: Alles auswählen
if (preg_match('#^[\*%]+$#', trim($search_author)) || preg_match('#^[^\*]{1,2}$#', str_replace(array('*', '%'), '', trim($search_author))))
{
$search_author = '';
}Gruß,
Tekin
• prof. phpbb-Installation, Reparatur, Rettung nach Hackattacken, sowie PHP/JS Programmierung aller Art
• Zend Certified Engineer, Linux Administrator und die Sicherheit von 34 Jahren Programmiererfahrung
• Interesse? Kontakt unter t.birduezen@web-coding.eu
• Zend Certified Engineer, Linux Administrator und die Sicherheit von 34 Jahren Programmiererfahrung
• Interesse? Kontakt unter t.birduezen@web-coding.eu
- honk_alert
- Mitglied
- Beiträge: 152
- Registriert: 02.10.2005 08:12
- cYbercOsmOnauT
- Ehemaliges Teammitglied
- Beiträge: 3820
- Registriert: 18.02.2004 23:02
- Wohnort: Göttingen
- Kontaktdaten:
Wieviele User mit solchen superkurzen Nicks hast Du denn? Wenn es nur einige sind, ändere ihren Nick zu längeren und schreib ihnen eine EMail.
Im includes/functions_validate.php führe folgende Änderung durch:
SUCHE NACH
DARUNTER FÜGE EIN
Wenn nun einer einen Usernamen registrieren will, der weniger als 3 Zeichen beinhaltet, bekommt er die Fehlermeldung, dass dieser Username verboten ist.
Grüße,
Tekin
Einen kleinen Hinweis kann ich mir nicht verkneifen (man möge mir verzeihen):
Die Suche nach Usernamen hat nichts mit den Tabellen phpbb_search_results phpbb_search_wordlist phpbb_search_wordmatch zu tun. Den Beweis kann jeder sehen, der sich die search.php einmal ansieht.
ZuerstWomit man die user_id's sammelt, die zu dem gesuchten Usernamen (mit Wildcards) passen.
Danndie Posting_id der Postings die zu den gefundenen user_id's (also Usern) gehören. Am Ende liest das Script "nur noch" entweder die Topic-Titel oder halt einen Teil des Postingtextes aus der DB und gibt diesen aus.
Finito
Im includes/functions_validate.php führe folgende Änderung durch:
SUCHE NACH
Code: Alles auswählen
$username = phpbb_clean_username($username);Code: Alles auswählen
if ( strlen($username) < 3 )
{
return array('error' => true, 'error_msg' => $lang['Username_disallowed']);
}Grüße,
Tekin
Einen kleinen Hinweis kann ich mir nicht verkneifen (man möge mir verzeihen):
Die Suche nach Usernamen hat nichts mit den Tabellen phpbb_search_results phpbb_search_wordlist phpbb_search_wordmatch zu tun. Den Beweis kann jeder sehen, der sich die search.php einmal ansieht.
Zuerst
Code: Alles auswählen
$sql = "SELECT user_id
FROM " . USERS_TABLE . "
WHERE username LIKE '" . str_replace("\'", "''", $search_author) . "'";Dann
Code: Alles auswählen
$sql = "SELECT post_id
FROM " . POSTS_TABLE . "
WHERE poster_id IN ($matching_userids)";Finito
• prof. phpbb-Installation, Reparatur, Rettung nach Hackattacken, sowie PHP/JS Programmierung aller Art
• Zend Certified Engineer, Linux Administrator und die Sicherheit von 34 Jahren Programmiererfahrung
• Interesse? Kontakt unter t.birduezen@web-coding.eu
• Zend Certified Engineer, Linux Administrator und die Sicherheit von 34 Jahren Programmiererfahrung
• Interesse? Kontakt unter t.birduezen@web-coding.eu
- honk_alert
- Mitglied
- Beiträge: 152
- Registriert: 02.10.2005 08:12
- cYbercOsmOnauT
- Ehemaliges Teammitglied
- Beiträge: 3820
- Registriert: 18.02.2004 23:02
- Wohnort: Göttingen
- Kontaktdaten:
Wieviele User mit so kurzen Nicks hast Du denn?
ÄNDEREeinfach inOb Du Dir (und Deinem Board) damit einen Gefallen tust, wage ich zu bezweifeln.
Tekin
ÄNDERE
Code: Alles auswählen
if (preg_match('#^[\*%]+$#', trim($search_author)) || preg_match('#^[^\*]{1,2}$#', str_replace(array('*', '%'), '', trim($search_author)))) Code: Alles auswählen
if (preg_match('#^[\*%]+$#', trim($search_author)))Tekin
• prof. phpbb-Installation, Reparatur, Rettung nach Hackattacken, sowie PHP/JS Programmierung aller Art
• Zend Certified Engineer, Linux Administrator und die Sicherheit von 34 Jahren Programmiererfahrung
• Interesse? Kontakt unter t.birduezen@web-coding.eu
• Zend Certified Engineer, Linux Administrator und die Sicherheit von 34 Jahren Programmiererfahrung
• Interesse? Kontakt unter t.birduezen@web-coding.eu