Seiten: 1 2 3 4 5 6 7 8 9 10 11
Hallo NetHunter,
vielen Dank für den Button.
Ein Verbot der Schnellantwort ist bei mir problematisch, da die Beitragszahlen nach meiner Erfahrung dann zurück gehen. Wenn Du noch eine Möglichkeit siehst, wäre ich Dir sehr dankbar...
Sollte nicht so schwer sein. Ich schau mir das noch mal an.
Das wäre wirklich klasse !
So, vergessen wir alles was in
Beitrag 47 steht. Alles auf Anfang.
Neues globales Template nh_spamprotect mit folgenden Inhalt erstellen:
Code:
<tr>
<td class="trow1" valign="top"><strong>Sicherheitsfrage</strong></td>
<td class="trow1">
<legend><strong>Spamschutz!</strong></legend>
<table cellspacing="0" cellpadding="4">
<tr>
<td><span class="smalltext">Bitte <strong>"Ich bin kein Bot"</strong> in die Textbox eintragen. Ohne Anführungszeichen!<br />Die Eingabe ist notwendig um automatisierte Beitragserstellungen zu vermeiden.</span></td>
</tr>
<tr>
<td><input type="text" value="" size="0" class="textbox" id="captchain" name="captchain" /><input type="hidden" name="captchapostplus" value="Ich bin kein Bot" id="captchapostplus" /></td>
</tr>
</table>
</td>
</tr>
Diesen Code:
Code:
if($mybb->input['captchain'] != 'Ich bin kein Bot' && !$mybb->user['uid']) {
error('Du hast die Sicherheitsfrage leider falsch beantwortet!<br /><a href="javascript:history.back()">Zurück</a>');
}
einmal in
newthread.php über der Zeile
Code:
// One or more errors returned, fetch error list and throw to newthread page
und außerdem in
newreply.php über der Zeile
Code:
// One or more errors returned, fetch error list and throw to newreply page
einbauen.
Diesen Code:
Code:
if($mybb->user['uid'] == 0) {
eval("\$nh_spamprotect = \"".$templates->get("nh_spamprotect")."\";");
}
einmal in
newthread.php über der Zeile:
Code:
eval("\$newthread = \"".$templates->get("newthread")."\";");
und außerdem in
newreply.php über der Zeile:
Code:
eval("\$newreply = \"".$templates->get("newreply")."\";");
einbauen.
Für die Schnellantwortbox.
Finde in
showthread.php
Code:
eval("\$quickreply = \"".$templates->get("showthread_quickreply")."\";");
Darüber einfügen:
Code:
if($mybb->user['uid'] == 0) {
eval("\$nh_spamprotect = \"".$templates->get("nh_spamprotect")."\";");
}
Zu guter letzt im Template newreply und newthread unter {$captcha} die neue Variable
{$nh_spamprotect} einbauen.
Für die Schnellantwortbox zusätzlich in showthread_quickreply, ebenfalls unter {$captcha}
Damit sollte alles wie gewünscht funktionieren.
Das funktioniert traumhaft ! Herzlichen Dank an NetHunter (!!!) für diese Lösung, die bestimmt viele Forenbetreiber sehr gut gebrauchen können.
Ich habe für mich noch 2 Abwandlungen vorgenommen:
a) Als Eingabetext beschränke ich mich auf ein Wort.
b) An anderer Stelle hatte ich entdeckt, dass man durch den Befehl strtolower Fehler aus Groß- und Kleinschreibung ausmerzen kann, was mir wichtig ist. Der Code heißt dann bei mir:
if(strtolower ($mybb->input['captchain']) != 'eingabetext' && !$mybb->user['uid']) {
error('Du hast die Sicherheitsfrage leider falsch beantwortet!<br /><a href="javascript:history.back()">Zurück</a>');
}
Jonas11
PS: Eine Kleinigkeit ist mir noch aufgefallen: Bei der Schnellantwort scheint bei falscher Eingabe keine Fehlermeldung zu kommen.
Hallo, eine Frage - muß man da die Templates noch irgendwo cachen? Hab zwar alles eingebaut, aber es wird keine Frage angezeigt. Aber nach dem Absenden bemängelt das die Sicherheitsfrage nicht beantwortet wurde.
Hallo, ich hab diesen Code nun auch bei mir eingebaut, da ich regelmäßig unerwünschte Spambeiträge habe. Funktioniert alles super, nur genau das was bei mir hauptsächlich Probleme macht funktioniert nicht:
(28.09.2011, 22:34)jonas11 schrieb: [ -> ]PS: Eine Kleinigkeit ist mir noch aufgefallen: Bei der Schnellantwort scheint bei falscher Eingabe keine Fehlermeldung zu kommen.
Kann man da noch was machen dass auch bei der Schnellantwort die Fehlermeldung bei falscher Eingabe kommt?
LG
(28.09.2011, 21:49)NetHunter schrieb: [ -> ]So, vergessen wir alles was in Beitrag 47 steht. Alles auf Anfang.
Neues globales Template nh_spamprotect mit folgenden Inhalt erstellen:
Code:
<tr>
<td class="trow1" valign="top"><strong>Sicherheitsfrage</strong></td>
<td class="trow1">
<legend><strong>Spamschutz!</strong></legend>
<table cellspacing="0" cellpadding="4">
<tr>
<td><span class="smalltext">Bitte <strong>"Ich bin kein Bot"</strong> in die Textbox eintragen. Ohne Anführungszeichen!<br />Die Eingabe ist notwendig um automatisierte Beitragserstellungen zu vermeiden.</span></td>
</tr>
<tr>
<td><input type="text" value="" size="0" class="textbox" id="captchain" name="captchain" /><input type="hidden" name="captchapostplus" value="Ich bin kein Bot" id="captchapostplus" /></td>
</tr>
</table>
</td>
</tr>
Diesen Code:
Code:
if($mybb->input['captchain'] != 'Ich bin kein Bot' && !$mybb->user['uid']) {
error('Du hast die Sicherheitsfrage leider falsch beantwortet!<br /><a href="javascript:history.back()">Zurück</a>');
}
einmal in newthread.php über der Zeile
Code:
// One or more errors returned, fetch error list and throw to newthread page
und außerdem in newreply.php über der Zeile
Code:
// One or more errors returned, fetch error list and throw to newreply page
einbauen.
Diesen Code:
Code:
if($mybb->user['uid'] == 0) {
eval("\$nh_spamprotect = \"".$templates->get("nh_spamprotect")."\";");
}
einmal in newthread.php über der Zeile:
Code:
eval("\$newthread = \"".$templates->get("newthread")."\";");
und außerdem in newreply.php über der Zeile:
Code:
eval("\$newreply = \"".$templates->get("newreply")."\";");
einbauen.
Für die Schnellantwortbox.
Finde in showthread.php
Code:
eval("\$quickreply = \"".$templates->get("showthread_quickreply")."\";");
Darüber einfügen:
Code:
if($mybb->user['uid'] == 0) {
eval("\$nh_spamprotect = \"".$templates->get("nh_spamprotect")."\";");
}
Zu guter letzt im Template newreply und newthread unter {$captcha} die neue Variable {$nh_spamprotect} einbauen.
Für die Schnellantwortbox zusätzlich in showthread_quickreply, ebenfalls unter {$captcha}
Damit sollte alles wie gewünscht funktionieren.
Sorry, wenn ich das noch mal aufgreife.
Ich hatte das bei 1.6.5. eingebaut und es funktionierte hervorragend. Nun waren bei 1.6.6. (hatte ich ausgelassen) und 1.6.7. (habe ich heute gemacht) gerade diese Dateien von der Änderung betroffen.
Ich hatte zunächst nicht daran gedacht, dass ich die Dateien ja zugunsten der Sicherheitsabfrage geändert hatte. Dann hatte ich wieder massig Spam (MIT Sicherheitsabfrage gar nicht mehr) und wollte das hier wieder einbauen. Doch die Änderungen sind wohl doch recht groß, denn wenn ich die Codes so einbaue wie bisher, bekomme ich nun beim Antworten eine weiße Seite.
Was hat sich geändert, bzw. wie kann ich jetzt eine Sicherheitsabfrage einbauen? Am liebsten auch bei der Registrierung. Es melden sich zwar nicht mehr so viele Spambots an, aber doch immer noch einige, die auch ReCaptcha überstehen.
Dann wirst du irgendwo einen Fehler eingebaut haben.
(15.04.2012, 18:34)NetHunter schrieb: [ -> ]Dann wirst du irgendwo einen Fehler eingebaut haben.
Ja, hatte ich
Ich habe bei "Zu guter letzt im Template newreply und newthread unter {$captcha} die neue Variable {$nh_spamprotect} einbauen" versucht, das in die DATEIEN einzubauen. Da ich die Abfrage ja schon vorher drin hatte, war es in den TEMPLATES natürlich noch verankert - und in die Dateien gehört es nicht rein.
Aber noch zu Teil 2: Gibt es die Möglichkeit, diese Sicherheitsabfrage auch bei der Registrierung einzubauen?
Gibt es sicher - aber du siehst, ich bin php-unbegabt und habe daher keine Idee, wie das aussehen muss.
Seiten: 1 2 3 4 5 6 7 8 9 10 11