Anti-Bot-Question Mod

In diesem Forum können Mod-Autoren ihre Mods vorstellen, die sich noch im Entwicklungsstatus befinden. Der Einbau in Foren im produktiven Betrieb wird nicht empfohlen.
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.
Benutzeravatar
MagMo
Ehemaliges Teammitglied
Beiträge: 584
Registriert: 30.10.2005 16:06
Wohnort: Köln
Kontaktdaten:

Beitrag von MagMo »

Hi,

deine profil_add_body.tpl hat mindestens einen Fehler. Und zwar ist dieser Abschnitt fehlerhaft:

Code: Alles auswählen

	<!-- BEGIN switch_edit_profile -->
	<tr> 
	  <td class="row1"><span class="gen">{L_CURRENT_PASSWORD}: *</span><br />
		<span class="gensmall">{L_CONFIRM_PASSWORD_EXPLAIN}</span></td>
    <!-- Visual Confirmation -->
   <!-- BEGIN switch_confirm -->
   <tr>
      <td class="row1" colspan="2" align="center"><span class="gensmall">{L_CONFIRM_CODE_IMPAIRED}</span><br /><br />{CONFIRM_IMG}<br /><br /></td>
   </tr>
   <tr>
     <td class="row1"><span class="gen">{L_CONFIRM_CODE}: * </span><br /><span class="gensmall">{L_CONFIRM_CODE_EXPLAIN}</span></td>
     <td class="row2"><input type="text" class="post" style="width: 200px" name="confirm_code" size="6" maxlength="6" value="" /></td>
   </tr>
   <!-- END switch_confirm -->
   <!-- BEGIN switch_anti_bot_question -->
	<tr>
	  <td class="row1" valign="top"><span class="gen">{L_ABQ_QUESTION}:</span><br />
		<span class="gensmall">{L_ABQ_EXPLAIN}</span></td>
	  <td class="row2"><span class="gen">{L_ABQ_Quest}{L_ABQ_IMAGE}</span>
	  </td>
	</tr>
	<tr>
	  <td class="row1"><span class="gen">{L_ABQ_ANSWER}:</td>
	  <td class="row2"><input type="text" class="post" style="width: 200px"  name="{L_ABQ_VARNAME}" size="35" maxlength="250" value="" />
	  </td>
	</tr>
	<!-- END switch_anti_bot_question -->
	  <td class="row2"> 
		<input type="password" class="post" style="width: 200px" name="cur_password" size="25" maxlength="32" value="{CUR_PASSWORD}" />
	  </td>
	</tr>
	<!-- END switch_edit_profile -->
Da musst du diesen Part:

Code: Alles auswählen

	  <td class="row2"> 
		<input type="password" class="post" style="width: 200px" name="cur_password" size="25" maxlength="32" value="{CUR_PASSWORD}" />
	  </td>
	</tr>
	<!-- END switch_edit_profile -->
am Ende entfernen und nach

Code: Alles auswählen

	<!-- BEGIN switch_edit_profile -->
	<tr> 
	  <td class="row1"><span class="gen">{L_CURRENT_PASSWORD}: *</span><br />
		<span class="gensmall">{L_CONFIRM_PASSWORD_EXPLAIN}</span></td>
einfügen.
Das ist sehr wahrscheinlich der Grund warum weder der Mod noch die visuelle Bestätigung vernünftig funktionieren.

Zudem ist mir aufgefallen, dass du

Code: Alles auswählen

	<!-- BEGIN switch_confirm -->
	<tr>
		<td class="row1" colspan="2" align="center"><span class="gensmall">{L_CONFIRM_CODE_IMPAIRED}</span><br /><br />{CONFIRM_IMG}<br /><br /></td>
	</tr>
	<tr> 
	  <td class="row1"><span class="gen">{L_CONFIRM_CODE}: * </span><br /><span class="gensmall">{L_CONFIRM_CODE_EXPLAIN}</span></td>
	  <td class="row2"><input type="text" class="post" style="width: 200px" name="confirm_code" size="6" maxlength="6" value="" /></td>
	</tr>
	<!-- END switch_confirm -->
2 mal in der Datei stehen hast, dass ist bei einem Standard subSilver auch nicht normal.

Habe jetzt erst einmal nicht weiter gesucht. Solltest die .tpl-Datei vielleicht noch mal mit einer ungemoddet überschreiben und alle Mods in dieser .tpl-Datei neu einbauen und auf Flüchtigkeitsfehler achten. :wink:

Grüße
MagMo
Benutzeravatar
Oede
Mitglied
Beiträge: 256
Registriert: 27.10.2002 17:47
Wohnort: Germany
Kontaktdaten:

Beitrag von Oede »

Mensch MagMo, vielen, vielen herzlichen Dank, für die tolle Hilfe!

Beim "registration-anti-bot-question" wird es jetzt angezeigt, allerdings habe ich dazu doch noch eine Frage. Ich habe 5 Antworten vorgegeben, es gibt aber nur eine Antwortmöglichkeit und meine Antworten werden auch nicht angezeigt, oder ist das richtig so? Siehe Screen1
http://www.downtown-board.de/screen1.jpg

Beim der visuellen Eingabe sieht es jetzt so aus*lol* Siehe Sreen2
http://www.downtown-board.de/screen2.jpg

Viele Grüße

Oede
Wie gut, das es Frauen und Männer gibt!
Benutzeravatar
MagMo
Ehemaliges Teammitglied
Beiträge: 584
Registriert: 30.10.2005 16:06
Wohnort: Köln
Kontaktdaten:

Beitrag von MagMo »

Hi,
Oede hat geschrieben:Ich habe 5 Antworten vorgegeben, es gibt aber nur eine Antwortmöglichkeit und meine Antworten werden auch nicht angezeigt, oder ist das richtig so?
Ja, das ist richtig so.
In den Antworten-Feldern im ACP werden die Antworten angegeben, die das Forum als richtig erkennen soll. Warum mehrere richtige Antworten angegeben werden können? Um z.B. unterschiedliche Schreibweisen zu berücksichtigen wie 'Photo' und 'Foto'.
Die richtige Antworte(n) werden im Registrierungsforumular / Beitragschreibenformular nicht angezeigt, der Mod soll es Bots ja nicht zu einfach machen.
Wenn du Antwortmöglichkeiten benennen willst, dann muss du das im Fragefeld machen. Z.B. so:
Frage: 'Was ist ein Tier? Auto, Erde, Pferd'
Antwort 1: 'Pferd'
Dadurch wird dann die richtige Antwort (neben den falschen) auch im Formular angezeigt.
(siehe dazu auch die vorinstallieren Beispielfragen)
Oede hat geschrieben:Beim der visuellen Eingabe sieht es jetzt so aus*lol*
Wie gesagt, dass die visuelle Bestätigung 2mal in der tpl-Datei vorkommt ist nicht normal. Da wird dir wohl beim Einbau eines anderen Mods ein Fehler unterlaufen sein.
Oder dein phpBB-Download enthält falsche Dateien. Aus welcher dubiosen Quelle hast du den denn bezogen. :wink:
Für das Problem solltest du aber mal einen neues Thema anfangen. Hängt ja nicht wirklich mit diesem Mod zusammen. Zudem wird es dann eher von anderen gefunden, die dir besser weiterhelfen können oder das geleiche Problem hatten und es gelöst haben.

Grüße
MagMo
Benutzeravatar
Oede
Mitglied
Beiträge: 256
Registriert: 27.10.2002 17:47
Wohnort: Germany
Kontaktdaten:

Beitrag von Oede »

Na dann bin ich ja beruhigt, klasse, es läuft, was will man mehr. Nochmal Danke für die schnelle Hilfe!!

Das mit de visuelle Bestätigung habe ich ja eh deaktiviert, das werde ich dann mal machen, wenn ich Lust und Laune habe, denn es läuft ja alles Problemlos auf mein Board!


Viele Grüße

Oede
Wie gut, das es Frauen und Männer gibt!
IPB_Flüchtling
Mitglied
Beiträge: 1862
Registriert: 23.12.2004 22:46

Beitrag von IPB_Flüchtling »

So,

habe mir jetzt den Mod genauer angesehen und bin zu folgendem Schluss gekommen: Das Ding ist einfach nur großartig!

Funktioniert hervorragend, lässt sich super einfach bedienen, geht weit über eine reine "Text Confirmation" hinaus und macht sogar noch Spaß! Und was die Features des Mods angeht: Es ist meines Erachtens alles verwirklicht, was in einen solchen Mod reingehört - und sogar noch mehr!

Achja, seit heute Abend gibt es in meinem Board keine visuelle Bestätigung mehr (zumindest nicht im herkömmlichen Sinne)! :D

Herzlichen Dank, MagMo!
IPB_Flüchtling
Mitglied
Beiträge: 1862
Registriert: 23.12.2004 22:46

Beitrag von IPB_Flüchtling »

Da es hier im Forum ja eine Diskussion pro und contra "Text Confirmation" gegeben hat, möchte ich nun meine bisherigen Erfahrungen mit MagMos System mitteilen: Seitdem ich die visuelle Bestätigung durch MagMos Sicherheitsfrage ersetzt habe,
  • ist die Zahl der Neuregistrierungen nicht zurückgegangen (ganz im Gegenteil - aber das wird Zufall sein)
  • hat es diesbezüglich keine einzige Beschwerde gegeben
  • hat sich kein einziger Spambot bei mir angemeldet
Schönes Wochenende Euch allen!
IPB_Flüchtling
simon-1991-14
Mitglied
Beiträge: 127
Registriert: 23.04.2006 18:38

Re: [beta] Registration Anti-Bot-Question Mod

Beitrag von simon-1991-14 »

MagMo hat geschrieben:Hi,

der Registration Anti-Bot-Question Mod ist ein "Text Confirmation"-Mod, durch den dem Registrierungsformular eine Frage hinzugefügt wird. Nur wenn diese richtig beantwortet wird, kann die Registrierung erfolgreich beendet werden. Diese individuelle Frage stellt ein weiteren Schutz gegen Spam-Bots dar.

Der Mod kann über das ACP des Forums an- und ausgeschaltet sowie verwaltet werden.

Es können beliebig viele Fragen mit dazugehörenden Antworten vorgegeben werden. Per Zufall wird eine der Fragen im Registrierungsformular ausgegeben. Die Fragen können völlig frei definiert werden und an das Forenthema angepasst werden. Für jede installierte Sprache des Forums können eigene Fragen angegeben werden, dadurch ist der Mod mit dem "Select Default Language Mod" kompatibel.

In den Fragen kann HTML-Code verwendet werden, somit könne z.B. auch Bilder mittels <img src=....> in die Frage eingebunden werden.
Dies erlaubt dann auch Fragen der Art:
Was für ein Tier (oder was auch immer) siehst auf diesem Bild?
(Den Bot, der das (heutzutage) geknackt bekommt, möchte ich sehen.)

Um Rechschreibschwächen / Legasthenie von Besuchern entgegenzuwirken kann die Antwort auch vorgegeben werden, z.B. durch Fragen dieser Art:
Wobei handelt es sich um ein Tier? Auto, Berg, Europa, Pferd
Damit wird die richtige Rechtschreibung sowie Groß-/Kleinschreibung vorgegeben. Bots sollten die Frage trotzdem nicht beantworten können. Allerdings hat auch diese Art der Fragestellung einen kleinen Hacken (unabhängig von den Rechtschreibfähigkeiten bzw. dem Gesundheitszustand des Besuchers), der Besucher muss wissen, dass 'Pferd' die richtige Antwort ist. :)


weitere Infos und Download:
Registration Anti-Bot-Question Mod

Sollte eigentlich inzwischen fehlerfrei sein. Falls doch Fehler auftreten, dann sagst es mir bitte.

Wäre natürlich schön, wenn ihr mir ein Feedback geben könntet. Insbesondere welche Funktionen noch "unbedingt" hinzukommen sollten.

/edit
aktuelle Version 0.3.3
Änderungen und neue Features
- Bild-URL-Feld + dazugehörende Funktionen hinzugefügt
- Berücksichtigung der Groß-/Kleinschreibung kann ausgeschaltet werden
- Bis zu 5 Antworten sind pro Frage möglich
- Bisher war es möglich, dass zufällig mehrmals hintereinander die selbe Frage gestellt wurde. Dies geschieht jetzt nicht mehr.
- Der MOD kann zusätzlich noch fürs Beitragschreibenformular an-/ausgeschaltet werden. Er wird dort nur für Gäste verwendet, für angemeldete Benutzer ändert sich durch den Mod nichts.

Grüße
MagMo
sehr interessante idee.... ich glaub, das bau ich bei mir auch noch ein!!! :cookie:
Benutzeravatar
Amaya
Mitglied
Beiträge: 150
Registriert: 08.12.2004 02:02

Beitrag von Amaya »

Hallo MagMo, ich möchte dir an dieser Stelle einfach mal tausendfach danken, dein MOD hat mir eine Möglichkeit aufgezeigt, wie ich gleich zwei Probleme auf einmal beseitigen kann, auf die ich gar nicht gekommen wäre.

Neben dem Schutz vor SpamBots, die zeitweise wirklich extrem bei mir im Forum vertreten waren, kann ich durch die Frage auch gleich eine weitere Überprüfung vornehmen und zwar ob die Regeln gelesen wurde. Bisher mussten die User Kontrollwörter unter ihre Bewerbung schreiben (RPG Forum) nun habe ich diese Wörter als Antwort angelegt und damit kann man sich erst anmelden, wenn die Regeln vollständig gelesen wurde.

Einfach genial, danke.
MC_DaRock
Mitglied
Beiträge: 5
Registriert: 07.01.2006 01:49
Kontaktdaten:

Beitrag von MC_DaRock »

hi, hab den mod bei mir installiert ... fast ...

nur folgendes fehlt noch
#-----[ OPEN ]------------------------------------------------
#
admin/admin_board.php

#
#-----[ FIND ]------------------------------------------------
#
$new['server_name'] = str_replace('http://', '', $new['server_name']);
}


#
#-----[ AFTER, ADD ]------------------------------------------------
#
// Anti Bot Question Mod - Start
if (($config_name == 'anti_bot_quest_get') && (isset($HTTP_POST_VARS['abq_get_s1'])))
{
$abq_new_get = '';
if (isset($HTTP_POST_VARS['abq_get_s1']))
{
$abq_new_get .= $HTTP_POST_VARS['abq_get_s1'];
}
if (isset($HTTP_POST_VARS['abq_get_s2']))
{
$abq_new_get .= $HTTP_POST_VARS['abq_get_s2'];
}
if (isset($HTTP_POST_VARS['abq_get_s3']))
{
$abq_new_get .= $HTTP_POST_VARS['abq_get_s3'];
}
if (isset($HTTP_POST_VARS['abq_get_s4']))
{
$abq_new_get .= $HTTP_POST_VARS['abq_get_s4'];
}
if (isset($HTTP_POST_VARS['abq_get_s5']))
{
$abq_new_get .= $HTTP_POST_VARS['abq_get_s5'];
}
if (isset($HTTP_POST_VARS['abq_get_s6']))
{
$abq_new_get .= $HTTP_POST_VARS['abq_get_s6'];
}
if (preg_match('/\A[a-z_]{2,5}[0-9]{4}[0-9a-z]{0,5}\z/',$abq_new_get))
{
$new['anti_bot_quest_get'] = $abq_new_get;
}
}
// Anti Bot Question Mod - End

#
#-----[ FIND ]------------------------------------------------
#
$confirm_no = (!$new['enable_confirm']) ? 'checked="checked"' : '';


#
#-----[ AFTER, ADD ]------------------------------------------------
#
// Anti Bot Question Mod - Start
$anti_bot_quest_yes = ($new['anti_bot_quest']) ? 'checked="checked"' : '';
$anti_bot_quest_no = (!$new['anti_bot_quest']) ? 'checked="checked"' : '';
$anti_bot_quest_guest_yes = ($new['anti_bot_quest_guest']) ? 'checked="checked"' : '';
$anti_bot_quest_guest_no = (!$new['anti_bot_quest_guest']) ? 'checked="checked"' : '';
$anti_bot_quest_casesen_yes = ($new['anti_bot_quest_casesen']) ? 'checked="checked"' : '';
$anti_bot_quest_casesen_no = (!$new['anti_bot_quest_casesen']) ? 'checked="checked"' : '';
if ($new['anti_bot_quest_get'] != '')
{
$abq_get_t2 = '';
if (preg_match('/\A(fg|ih|zg)[0-9]{4}[0-9a-z]{0,5}\z/',$new['anti_bot_quest_get']))
{
$abq_get_t1 = strval(substr($new['anti_bot_quest_get'],0,2));
$abq_get_z1 = strval(substr($new['anti_bot_quest_get'],2,1));
$abq_get_z2 = strval(substr($new['anti_bot_quest_get'],3,1));
$abq_get_z3 = strval(substr($new['anti_bot_quest_get'],4,1));
$abq_get_z4 = strval(substr($new['anti_bot_quest_get'],5,1));
if (strlen($new['anti_bot_quest_get']) > 6)
{
$abq_get_t2 = strval(substr($new['anti_bot_quest_get'],6));
}
}
elseif (preg_match('/\A(bfj|g_e|www|xwe|xxx)[0-9]{4}[0-9a-z]{0,5}\z/',$new['anti_bot_quest_get']))
{
$abq_get_t1 = strval(substr($new['anti_bot_quest_get'],0,3));
$abq_get_z1 = strval(substr($new['anti_bot_quest_get'],3,1));
$abq_get_z2 = strval(substr($new['anti_bot_quest_get'],4,1));
$abq_get_z3 = strval(substr($new['anti_bot_quest_get'],5,1));
$abq_get_z4 = strval(substr($new['anti_bot_quest_get'],6,1));
if (strlen($new['anti_bot_quest_get']) > 7)
{
$abq_get_t2 = strval(substr($new['anti_bot_quest_get'],7));
}
}
elseif (preg_match('/\A(abq_|home|name|sfhf|www_)[0-9]{4}[0-9a-z]{0,5}\z/',$new['anti_bot_quest_get']))
{
$abq_get_t1 = strval(substr($new['anti_bot_quest_get'],0,4));
$abq_get_z1 = strval(substr($new['anti_bot_quest_get'],4,1));
$abq_get_z2 = strval(substr($new['anti_bot_quest_get'],5,1));
$abq_get_z3 = strval(substr($new['anti_bot_quest_get'],6,1));
$abq_get_z4 = strval(substr($new['anti_bot_quest_get'],7,1));
if (strlen($new['anti_bot_quest_get']) > 8)
{
$abq_get_t2 = strval(substr($new['anti_bot_quest_get'],8));
}
}
elseif (preg_match('/\A(email|ldknf|name_|rgwsf)[0-9]{4}[0-9a-z]{0,5}\z/',$new['anti_bot_quest_get']))
{
$abq_get_t1 = strval(substr($new['anti_bot_quest_get'],0,5));
$abq_get_z1 = strval(substr($new['anti_bot_quest_get'],5,1));
$abq_get_z2 = strval(substr($new['anti_bot_quest_get'],6,1));
$abq_get_z3 = strval(substr($new['anti_bot_quest_get'],7,1));
$abq_get_z4 = strval(substr($new['anti_bot_quest_get'],8,1));
if (strlen($new['anti_bot_quest_get']) > 9)
{
$abq_get_t2 = strval(substr($new['anti_bot_quest_get'],9));
}
}
else
{
$new['anti_bot_quest_get'] = '';
}
}
if ($new['anti_bot_quest_get'] == '')
{
$new['anti_bot_quest_get'] = 'abq_0001';
$abq_get_t1 = 'abq_';
$abq_get_t2 = '';
$abq_get_z1 = '0';
$abq_get_z2 = '0';
$abq_get_z3 = '0';
$abq_get_z4 = '1';
}
$abq_get_A1 = array();
$abq_get_A1[] = 'abq_';
$abq_get_A1[] = 'bfj';
$abq_get_A1[] = 'email';
$abq_get_A1[] = 'fg';
$abq_get_A1[] = 'g_e';
$abq_get_A1[] = 'home';
$abq_get_A1[] = 'ih';
$abq_get_A1[] = 'ldknf';
$abq_get_A1[] = 'name';
$abq_get_A1[] = 'name_';
$abq_get_A1[] = 'rgwsf';
$abq_get_A1[] = 'sfhf';
$abq_get_A1[] = 'www';
$abq_get_A1[] = 'www_';
$abq_get_A1[] = 'xwe';
$abq_get_A1[] = 'xxx';
$abq_get_A1[] = 'zg';
$abq_get_A2 = array();
$abq_get_A2[] = '';
$abq_get_A2[] = '001';
$abq_get_A2[] = '3567';
$abq_get_A2[] = '94859';
$abq_get_A2[] = 'abf';
$abq_get_A2[] = 'f';
$abq_get_A2[] = 'sfgr';
$abq_get_A2[] = 'uc';
$abq_get_A2[] = 'dsdvg';
$abq_get_s1 = '';
for ($i=0; $i<count($abq_get_A1); $i++)
{
if ($abq_get_A1[$i] == $abq_get_t1)
{
$abq_get_selected = ' selected="selected"';
}
else
{
$abq_get_selected = "";
}
$abq_get_s1 .= '<option value="' . $abq_get_A1[$i] . '"' . $abq_get_selected . '>' . $abq_get_A1[$i] . '</option>';
}
$abq_get_s2 = '';
for ($i=0; $i<10; $i++)
{
if (strval($i) == $abq_get_z1)
{
$abq_get_selected = ' selected="selected"';
}
else
{
$abq_get_selected = "";
}
$abq_get_s2 .= '<option value="' . $i . '"' . $abq_get_selected . '>' . $i . '</option>';
}
$abq_get_s3 = '';
for ($i=0; $i<10; $i++)
{
if (strval($i) == $abq_get_z2)
{
$abq_get_selected = ' selected="selected"';
}
else
{
$abq_get_selected = "";
}
$abq_get_s3 .= '<option value="' . $i . '"' . $abq_get_selected . '>' . $i . '</option>';
}
$abq_get_s4 = '';
for ($i=0; $i<10; $i++)
{
if (strval($i) == $abq_get_z3)
{
$abq_get_selected = ' selected="selected"';
}
else
{
$abq_get_selected = "";
}
$abq_get_s4 .= '<option value="' . $i . '"' . $abq_get_selected . '>' . $i . '</option>';
}
$abq_get_s5 = '';
for ($i=0; $i<10; $i++)
{
if (strval($i) == $abq_get_z4)
{
$abq_get_selected = ' selected="selected"';
}
else
{
$abq_get_selected = "";
}
$abq_get_s5 .= '<option value="' . $i . '"' . $abq_get_selected . '>' . $i . '</option>';
}
$abq_get_s6 = '';
for ($i=0; $i<count($abq_get_A2); $i++)
{
if ($abq_get_A2[$i] == $abq_get_t2)
{
$abq_get_selected = ' selected="selected"';
}
else
{
$abq_get_selected = "";
}
$abq_get_s6 .= '<option value="' . $abq_get_A2[$i] . '"' . $abq_get_selected . '>' . $abq_get_A2[$i] . '</option>';
}
// Anti Bot Question Mod - End
denn ich kann die rot markierten stellen nicht finden

thx 4 help
IPB_Flüchtling
Mitglied
Beiträge: 1862
Registriert: 23.12.2004 22:46

Beitrag von IPB_Flüchtling »

Hallo,

verlinke doch bitte mal Deine admin/admin_board.php als Textdatei.

LG, IPB_Flüchtling
Antworten

Zurück zu „phpBB 2.0: Mods in Entwicklung“