Seite 1 von 1

Q&A-Captcha um Bilder erweitern

Verfasst: 05.11.2011 16:58
von modernist
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:
  • /includes/captcha/plugins/phpbb_captcha_qa_plugin.php
  • /styles/prosilver/template/captcha_qa.html
  • /language/de/ucp.php
  • /language/de/acp/common.php
In der includes/captcha/plugins/phpbb_captcha_qa_plugin.php suchen

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,
			));
Hier ergänzt man

Code: Alles auswählen

				'QUESTION_ID'				=> (int) $this->question,
erhält also:

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,
			));
In der Datei /styles/prosilver/template/captcha_qa.html ergänzt man innerhalb von <dl>...</dl>:

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>
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):

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>
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:

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

Re: Q&A-Captcha um Bilder erweitern

Verfasst: 05.11.2011 17:58
von DaSasha
Finde ich sehr gut... würde es aber zu Snippets hinzufügen :P

Re: Q&A-Captcha um Bilder erweitern

Verfasst: 05.11.2011 18:36
von modernist
DaSasha hat geschrieben:würde es aber zu Snippets hinzufügen
Das kann ja ein Moderator bei Bedarf verschieben. :oops:

Aber wenn ich mal richtig Ahnung habe, könnte ich's um eine ACP-Konfiguration ergänzen, so daß man dort die Bilder (die dann mit frei wählbarer Bezeichung und nicht zur ID korrespondierender Nummerierung) bzw. den Ordner festlegt und ggf. die IDs selbst vergeben kann.

Re: Q&A-Captcha um Bilder erweitern

Verfasst: 05.11.2011 23:00
von Talk19zehn
Hello modernist,

deine Idee ist derart genial! Mein Glückwunsch und meine Begeisterung kannst du dir sicherlich vorstellen!!
Danke dir für deinen wertvollen Beitrag.

modernist hat geschrieben:Aber wenn ich mal richtig Ahnung habe, könnte ich's um eine ACP-Konfiguration ergänzen, so daß man dort die Bilder (die dann mit frei wählbarer Bezeichung und nicht zur ID korrespondierender Nummerierung) bzw. den Ordner festlegt und ggf. die IDs selbst vergeben kann.
Das wird sich doch lösen lassen. :wink:

LG



BTW:
Snippets können per PN an ein Team-Mitglied geschickt werden. :wink: