Mitglieder erst nach Aktivierung anzeigen
Verfasst: 27.03.2004 02:38
Da es immer öfter zu User-Spam bei Foren kommt, hier ein kleiner Trick sowie weitere Überlegungen, wie man dies zwar nicht verhindert, aber den von den Spammern gewünschten Effekt unterbindet (Verlinken des Forums auf eine vom Spammer in seinen Profil eingegebene URL).
- Nicht-Anzeigen
In der includes/functions.php in Zeile 30 und in der memberlist.php in Zeile 147 und Zeile 279 wird jeweilseingefügt.Code: Alles auswählen
AND user_active = 1
- includes/functions.php:
Code: Alles auswählen
case 'newestuser': $sql = "SELECT user_id, username FROM " . USERS_TABLE . " WHERE user_id <> " . ANONYMOUS . " AND user_active = 1 ORDER BY user_id DESC LIMIT 1";
- memberlist.php:
Code: Alles auswählen
$sql = "SELECT username, user_id, user_viewemail, user_posts, user_regdate, user_from, user_website, user_email, user_icq, user_aim, user_yim, user_msnm, user_avatar, user_avatar_type, user_allowavatar FROM " . USERS_TABLE . " WHERE user_id <> " . ANONYMOUS . " AND user_active = 1 ORDER BY $order_by";
Code: Alles auswählen
$sql = "SELECT count(*) AS total FROM " . USERS_TABLE . " WHERE user_id <> " . ANONYMOUS ." AND user_active = 1";
- includes/functions.php:
- Keine URL bei Null-Poster anzeigen
Will man keine Benutzeraktivierung nutzen, kann man sich dennoch schützen: man zeigt für Null-Poster (Mitglieder, die nie gepostet haben) einfach keine URL an.
Dazu sind Änderungen an der includes/user_viewprofile.php Zeile 136f., der memberlist.php Zeile 204f. und der viewtopic.php Zeile 934f. nötig.
- includes/usercp_viewprofile.php:
Code: Alles auswählen
$www_img = ( ($profiledata['user_website']) && ($profiledata['user_posts'] > 0) ) ? '<a href="' . $profiledata['user_website'] . '" target="_userwww"><img src="' . $images['icon_www'] . '" alt="' . $lang['Visit_website'] . '" title="' . $lang['Visit_website'] . '" border="0" /></a>' : ' '; $www = ( ($profiledata['user_website']) && ($profiledata['user_posts'] > 0) ) ? '<a href="' . $profiledata['user_website'] . '" target="_userwww">' . $profiledata['user_website'] . '</a>' : ' ';
- memberlist.php:
Code: Alles auswählen
$www_img = ( ($row['user_website']) && ($posts > 0) ) ? '<a href="' . $row['user_website'] . '" target="_userwww"><img src="' . $images['icon_www'] . '" alt="' . $lang['Visit_website'] . '" title="' . $lang['Visit_website'] . '" border="0" /></a>' : ''; $www = ( ( $row['user_website']) && ($posts > 0) ) ? '<a href="' . $row['user_website'] . '" target="_userwww">' . $lang['Visit_website'] . '</a>' : '';
- viewtopic.php:
Code: Alles auswählen
$www_img = ( ($postrow[$i]['user_website']) && ($postrow[$i]['user_posts'] > 0) ) ? '<a href="' . $postrow[$i]['user_website'] . '" target="_userwww"><img src="' . $images['icon_www'] . '" alt="' . $lang['Visit_website'] . '" title="' . $lang['Visit_website'] . '" border="0" /></a>' : ''; $www = ( ($postrow[$i]['user_website']) && ($postrow[$i]['user_posts'] > 0) ) ? '<a href="' . $postrow[$i]['user_website'] . '" target="_userwww">' . $lang['Visit_website'] . '</a>' : '';
- includes/usercp_viewprofile.php:
- Änderung des Registrierungsformulars
Dabei geht es darum, bei der Anmeldung nur noch die benötigten Felder -Benutzername, Passwort und E-Mail-Adresse - anzuzeigen und zu verarbeiten. Änderungen am Profil - zum Beispiel Eingabe einer Homepage - kann ein Benutzer erst nach der Aktivierung, soweit eingeschaltet, und erfolgreichem Login vornehmen. Das sollte für die meisten Robots etwas zu viel des Guten sein.
Dazu benutzen könnte man den Custom Registration MOD.