Q&A-Captcha um Bilder erweitern
Verfasst: 05.11.2011 16:58
Hier ein recht einfacher Weg, um für das Q&A-Captchaplugin gleichzeitig Bilder zur Frage zu präsentieren, es müssen nur 4 Dateien minimal geändert werden:
Hier ergänzt man
erhält also:
In der Datei /styles/prosilver/template/captcha_qa.html ergänzt man innerhalb von <dl>...</dl>:
Ich habe das bei mir umgebaut, damit die Sicherheitsabfrage direkt unterhalb der Eingabefelder für Username und Paßwort erscheint (das <!-- IF S_TYPE == 1 -->...<!-- ENDIF --> musste ich auch entfernen, da das Q&A bei mir sonst nie angezeigt wurde):
Die style-Angabe kann man natürlich weglassen oder durch eine Klasse im CSS ersetzen.
Hier wurden die Bilder einfach durchnummeriert von 1-X und alle im jpg-Format im Ordner /bilderordner/captchas/ abgespeichert. Dies ist bei Bedarf anzupassen. Wenn man unterschiedliche Bildformate wählt oder Q&A-Fragen ohne Bilder präsentieren möchte, sollte man eine Abfrage einbauen: <!-- IF QUESTION-ID == 1 -->.png<!-- ENDIF --> o.ä.
Bei relativer Pfadangabe fürs Bild wird dies nicht angezeigt, wenn man als Admin nach fehlerhafter Anmeldung das Captcha lösen soll, deshalb ist hier die absolute Pfadangabe mit Domain besser.
Nun noch in der language/de/ucp.php und der language/de/acp/common.php die Sprachvariable für SICHERHEITSFRAGE definieren:
Anschließend legt man im ACP bei der Konfiguration des Q&A-Captchaplugins (ACP -> Allgemein -> CAPTCHA-Modul-Einstellungen -> Verfügbare Plugins -> Q&A auswählen -> Konfigurieren) die Fragen fest. Dabei muß beachtet werden, daß die ID der Frage zur Nummer des Bildes paßt.
Die ID ist nach dem Anlegen der Frage sichtbar, wenn man mit der Maus das grüne Zahnrad fährt bzw. in der URL, nachdem man das Zahnrad angeklickt hat (z.B. question_id=13).
Im ACP zum Schluß noch das Template des verwendeten Styles aktualieren (und ggf. den Cache leeren).
Aussehen kann das dann so: http://img511.imageshack.us/img511/8619 ... luspic.jpg
- /includes/captcha/plugins/phpbb_captcha_qa_plugin.php
- /styles/prosilver/template/captcha_qa.html
- /language/de/ucp.php
- /language/de/acp/common.php
Code: Alles auswählen
else
{
$template->assign_vars(array(
'QA_CONFIRM_QUESTION' => $this->question_text,
'QA_CONFIRM_ID' => $this->confirm_id,
'S_CONFIRM_CODE' => true,
'S_TYPE' => $this->type,
));
Code: Alles auswählen
'QUESTION_ID' => (int) $this->question,
Code: Alles auswählen
else
{
$template->assign_vars(array(
'QA_CONFIRM_QUESTION' => $this->question_text,
'QA_CONFIRM_ID' => $this->confirm_id,
'S_CONFIRM_CODE' => true,
'QUESTION_ID' => (int) $this->question,
'S_TYPE' => $this->type,
));
Code: Alles auswählen
<dt><label>{L_SICHERHEITSFRAGE}:</label></dt>
<dd><img style="padding: 4px; border: 1px solid #2b2b2b;" src="http://domain.tld/bilderordner/captchas/{QUESTION_ID}.jpg" alt="" /></dd>
Code: Alles auswählen
<dl>
<dt><label>{L_SAFETY_QUESTION}:</label></dt>
<dd><img style="padding: 4px; border: 1px solid #2b2b2b;" src="http://domain.tld/bilderordner/captchas/{QUESTION_ID}.jpg" alt="" /></dd>
<dt> </dt>
<dd> <strong>{QA_CONFIRM_QUESTION}</strong><br /><br />
<input type="text" tabindex="{$CAPTCHA_TAB_INDEX}" name="qa_answer" id="answer" size="45" class="inputbox autowidth title="{L_ANSWER}" />
<input type="hidden" name="qa_confirm_id" id="qa_confirm_id" value="{QA_CONFIRM_ID}" />
</dd>
</dl>
Hier wurden die Bilder einfach durchnummeriert von 1-X und alle im jpg-Format im Ordner /bilderordner/captchas/ abgespeichert. Dies ist bei Bedarf anzupassen. Wenn man unterschiedliche Bildformate wählt oder Q&A-Fragen ohne Bilder präsentieren möchte, sollte man eine Abfrage einbauen: <!-- IF QUESTION-ID == 1 -->.png<!-- ENDIF --> o.ä.
Bei relativer Pfadangabe fürs Bild wird dies nicht angezeigt, wenn man als Admin nach fehlerhafter Anmeldung das Captcha lösen soll, deshalb ist hier die absolute Pfadangabe mit Domain besser.
Nun noch in der language/de/ucp.php und der language/de/acp/common.php die Sprachvariable für SICHERHEITSFRAGE definieren:
Code: Alles auswählen
'SICHERHEITSFRAGE' => 'Sicherheitsabfrage',
Anschließend legt man im ACP bei der Konfiguration des Q&A-Captchaplugins (ACP -> Allgemein -> CAPTCHA-Modul-Einstellungen -> Verfügbare Plugins -> Q&A auswählen -> Konfigurieren) die Fragen fest. Dabei muß beachtet werden, daß die ID der Frage zur Nummer des Bildes paßt.
Die ID ist nach dem Anlegen der Frage sichtbar, wenn man mit der Maus das grüne Zahnrad fährt bzw. in der URL, nachdem man das Zahnrad angeklickt hat (z.B. question_id=13).
Im ACP zum Schluß noch das Template des verwendeten Styles aktualieren (und ggf. den Cache leeren).
Aussehen kann das dann so: http://img511.imageshack.us/img511/8619 ... luspic.jpg