Anti-Spam-Patch
Verfasst: 19.06.2006 01:13
Hallo zusammen,
in unserem Forum kommt es leider sehr häufig vor, daß sich Spam-User anmelden, die nur ihre Website eingeben wollen, um sich bekannt zu machen. Da dies leider auch der Code bei der Registrierung nicht gänzlich verhindert (es gibt auch Spam-User, die sich die Handarbeit machen), habe ich nun eine kleine Mod gebastelt, die die Editierung des Profiles zwischen Registrierung und Editierung trennt und als Ergebnis alle Eingabefelder wie Website, ICQ, MSN usw. verschwinden läßt.
Somit ist die Eingabe dieser Felder erst möglich, wenn eine Freischaltung durch den Admin erfolgt ist.
Ich dachte, das interessiert vielleicht den ein oder anderen Forenbesitzer, drum hier eine kleine Anleitung.
Viele Grüße
Christian
in unserem Forum kommt es leider sehr häufig vor, daß sich Spam-User anmelden, die nur ihre Website eingeben wollen, um sich bekannt zu machen. Da dies leider auch der Code bei der Registrierung nicht gänzlich verhindert (es gibt auch Spam-User, die sich die Handarbeit machen), habe ich nun eine kleine Mod gebastelt, die die Editierung des Profiles zwischen Registrierung und Editierung trennt und als Ergebnis alle Eingabefelder wie Website, ICQ, MSN usw. verschwinden läßt.
Somit ist die Eingabe dieser Felder erst möglich, wenn eine Freischaltung durch den Admin erfolgt ist.
Ich dachte, das interessiert vielleicht den ein oder anderen Forenbesitzer, drum hier eine kleine Anleitung.
Viele Grüße
Christian
Code: Alles auswählen
Trennung zwischen Registrierung und Editierung:
1. In der Datei "profile.php" im root folgenden Absatz suchen:
else if ( $mode == 'editprofile' || $mode == 'register' )
{
if ( !$userdata['session_logged_in'] && $mode == 'editprofile' )
{
redirect(append_sid("login.$phpEx?redirect=profile.$phpEx&mode=editprofile", true));
}
include($phpbb_root_path . 'includes/usercp_register.'.$phpEx);
exit;
}
ersetzen gegen:
else if ( $mode == 'editprofile')
{
if ( !$userdata['session_logged_in'] && $mode == 'editprofile' )
{
redirect(append_sid("login.$phpEx?redirect=profile.$phpEx&mode=editprofile", true));
}
include($phpbb_root_path . 'includes/usercp_editprofile.'.$phpEx);
exit;
}
else if ( $mode == 'register')
{
if ( !$userdata['session_logged_in'] && $mode == 'editprofile' )
{
redirect(append_sid("login.$phpEx?redirect=profile.$phpEx&mode=editprofile", true));
}
include($phpbb_root_path . 'includes/usercp_register.'.$phpEx);
exit;
}
------------------------
2. Die Datei "usercp_register.php" im "Includes"-Verzeichnis kopieren und die Kopie in "usercp_editprofile.php" umbenennen.
3. Die alte Datei "usercp_register.php" aufrufen und die folgenden Zeilen suchen:
$template->set_filenames(array(
'body' => 'profile_add_body.tpl')
);
und ersetzen gegen:
$template->set_filenames(array(
'body' => 'profile_add_body_unregistered.tpl')
);
--------------------------
4. Das Template "profile_add_body.tpl" kopieren und die Kopie "profile_add_body_unregistered.tpl" umbenennen.
5. Die neue Kopie "profile_add_body_unregistered.tpl" aufrufen und folgenden Block suchen:
<tr>
<td class="row1"><span class="gen">{L_ICQ_NUMBER}:</span></td>
<td class="row2">
<input type="text" name="icq" class="post" style="width: 100px" size="10" maxlength="15" value="{ICQ}" />
</td>
</tr>
bis
<tr>
<td class="row1"><span class="gen">{L_SIGNATURE}:</span><br /><span class="gensmall">{L_SIGNATURE_EXPLAIN}<br /><br />{HTML_STATUS}<br />{BBCODE_STATUS}<br />{SMILIES_STATUS}</span></td>
<td class="row2">
<textarea name="signature" style="width: 300px" rows="6" cols="30" class="post">{SIGNATURE}</textarea>
</td>
</tr>
6. Den gesamten Block löschen. Damit können während der Registrierungsphase keine zusätzlichen Eingaben im Profil vorgenommen werden.
7. Zusätzlich kann nun noch ein Hinweis erfolgen, daß diese Eingaben erst nach Registrierung möglich sind (anstatt des gelöschten Blocks einfügen):
<tr>
<td>
Um Spam-Usern hier keine weitere Gelegenheit zu geben, ihren Mist loszuwerden, können ab sofort weitere Eingabefelder nur noch nach erfolgreicher Freischaltung eingegeben werden.<br /><br />
Der Administrator
</td>
</tr>
----------------------------