Seite 1 von 1

Kontaktformular mit Captcha

Verfasst: 20.08.2015 12:08
von 240709Gast
Guten Tag,

ich habe in meinem Forum das Kontaktformular aktiviert. Besteht die Möglichkeit, in diesem eine CAPTCHA-Prüfung zu aktivieren?


Freundliche Grüße

Martin

Re: Kontaktformular mit Captcha

Verfasst: 20.08.2015 12:44
von Lehrling
leider nein. Vielleicht kommt das mal, aber im Moment hilft nur abschalten.

Re: Kontaktformular mit Captcha

Verfasst: 21.08.2015 09:11
von 240709Gast
Meines Erachtens wäre das auf jeden Fall eine sinnvolle Ergänzung. Verganene Tage erhielt ich nämlich des öfteren Post von meinem Hoster über den Versand von Spammails. Zum Glück gehen die zwar "nur" an mich und nicht die Nutzer des Forums, dennoch sollte dem ein Riegel vorgeschoben werden.

Das Kontaktformular habe ich vorsorglich abgeschaltet.


Gruß

Martin

Re: Kontaktformular mit Captcha

Verfasst: 21.08.2015 12:44
von waldkatze
Ich bin gerade unterwegs und kann es jetzt auf die Schnelle nicht testen, aber probiere mal diesen Code in die HTML des Contactformulars einzufügen.

Code: Alles auswählen

<!-- IF CAPTCHA_TEMPLATE -->
		<!-- DEFINE $CAPTCHA_TAB_INDEX = 8 -->
		<!-- INCLUDE {CAPTCHA_TEMPLATE} -->
	<!-- ENDIF -->
Anschließend Cache leeren nicht vergessen !

Re: Kontaktformular mit Captcha

Verfasst: 21.08.2015 14:47
von Kirk
Hallo
Das alleine reicht nicht aus weil es nirgens in der Memberlist definiert ist.
Um den Kontaktformular ein Captcha hinzuzufügen muss man folgendes machen:
Öffne: root/memberlist.php
Finde:

Code: Alles auswählen

    case 'contactadmin':
    case 'email':
        if (!class_exists('messenger'))
        {
            include($phpbb_root_path . 'includes/functions_messenger.' . $phpEx);
        } 
Danach einfügen:

Code: Alles auswählen

                    $captcha = $phpbb_container->get('captcha.factory')->get_instance($config['captcha_plugin']);
                    $captcha->init(CONFIRM_LOGIN);

                    $template->assign_vars(array(
                        'CAPTCHA_TEMPLATE'            => $captcha->get_template(),
                    )); 
Öffne: root/styles/stylename/template/memberlist_email.html
Finde:

Code: Alles auswählen

		<!-- IF S_REGISTERED_USER -->
		<dl>
			<dt>&nbsp;</dt>
			<dd><label for="cc_sender"><input type="checkbox" name="cc_sender" id="cc_sender" value="1" checked="checked" tabindex="5" /> {L_CC_SENDER}</label></dd>
		</dl>
		<!-- ENDIF -->
Ersetzen mit:

Code: Alles auswählen

		<!-- IF S_REGISTERED_USER -->
		<dl>
			<dt>&nbsp;</dt>
			<dd><label for="cc_sender"><input type="checkbox" name="cc_sender" id="cc_sender" value="1" checked="checked" tabindex="5" /> {L_CC_SENDER}</label></dd>
		</dl>
		<!-- ENDIF -->
<!-- IF CAPTCHA_TEMPLATE -->
      <!-- DEFINE $CAPTCHA_TAB_INDEX = 8 -->
      <!-- INCLUDE {CAPTCHA_TEMPLATE} -->
   <!-- ENDIF -->
Danach den Foren und Browser Cache leeren.

Re: Kontaktformular mit Captcha

Verfasst: 24.08.2015 08:15
von 240709Gast
Hallo,

vielen Dank für den Code. Leider hat der noch einen Haken. Das Captcha wird zwar angezeigt, allerdings findet keine wirkliche Prüfung der Werte statt. Selbst wenn das Captcha gar nicht ausgefüllt wird, kann die Email abgeschickt werden.

Link zum Testen: http://www.schueler-talk.de/memberlist. ... ntactadmin

Könntest du dir vorstellen, den Code im Rahmen einer Extension zu verpacken? Das wäre langfristig was pflegeleichter als den Code wie "damals" zu 3.0 Zeiten manuell zu pflegen. :)


Gruß

Martin

Re: Kontaktformular mit Captcha

Verfasst: 24.08.2015 19:37
von gn#36
Wenn das Captcha schon funktioniert dann sollte sowas ähnliches wie das hier reichen um das Ergebnis zu überprüfen. Ich gebe dir aber Recht, eine Ext wäre schöner.