captcha

Hier dreht sich alles um die auf der Webseite veröffentlichten Tutorials. // This forum is all about the APF tutorials.
Benutzeravatar
Screeze
Beiträge: 1920
Registriert: 05.08.2009, 09:49:04
Kontaktdaten:

captcha

Beitrag von Screeze » 14.08.2009, 12:13:25

Ich wollte mein registrieungsformular eben mit captcha schützen, allerdings versteh ich die tutorialerklärung glaub ich nicht richtig.
Denn so wie ich es gebastelt habe wird lediglich der alt Tag des captchas angezeigt, anstatt dem Bild.
6.1. Konfiguration der FrontController-Action
Da die Auslieferung des CAPTCHA-Bildes über eine FrontController-Action stattfindet, ist es beim eingesetzten Projekt notwendig, die Auslieferung der Seite über den FrontController zu steuern. Sollte die Generierung bisher nur mit Hilfe des PageControllers passiert sein, so muss zunächst die Bootstrapdatei angepasst werden. Beinhaltet die index.php die Zeilen [...]
Ok bootstrap datei hab ich auf frontcontroller umgestellt:

Code: Alles auswählen

<?php
ini_set('html_errors','off');
require_once($_SERVER['DOCUMENT_ROOT'] . '/../APF/core/pagecontroller/pagecontroller.php');
import('modules::usermanagement::biz','umgtManager');
import('core::frontcontroller','Frontcontroller');

 $fC = &Singleton::getInstance('Frontcontroller');
 $fC->set('Context','sites::GAME_mainpage');  
 $fC->start('sites::GAME_mainpage::pres::templates','index');

?>
Funktioniert soweit.

Sobald diese Anpassung wirksam ist, muss die zur Auslieferung des CAPTCHA-Bildes verwendete FrontController-Action konfiguriert werden. Dazu erwartet der FrontController bei Aufruf der URL

1. /?modules_captcha_biz-action:showCaptcha=name:...
unter dem Namespace
[...]
die Konfiguration der Action. Die Werte CONTEXT und ENVIRONMENT sind dabei durch die für das Projekt gültigen Werte zu ersetzen
Hmm also nur die config datei einrichten. hab ich gemacht ->
APF/config/modules/captcha/biz/sites/GAME_mainpage/DEFAULT_actionconfig.ini

Code: Alles auswählen

[showCaptcha]
FC.ActionNamespace = "modules::captcha::biz::actions"
FC.ActionFile = "ShowCaptchaImageAction"
FC.ActionClass = "ShowCaptchaImageAction"
FC.InputFile = "ShowCaptchaImageInput"
FC.InputClass = "ShowCaptchaImageInput"
FC.InputParams = ""
Hätte ich da was ändern müssen? ist die standartconfig...
6.2. Einbindung des Tags [...]
Kein Thema hab ich gemacht.

Code: Alles auswählen

(bekanntmachung is weiter oben)
<form:captcha
                             text_class=""
                             text_style="width: 318px;"
                             validate="true"
                             button="register_submit"
                             clearonerror="true"
                   />
In der Ausgabe des Formulars erzeugt das Tag ein CAPTCHA-Bild und ein Textfeld, das vom Benutzer zur Eingabe des gezeigten Strings verwendet werden muss. Die folgende Liste gibt eine Übersicht über die verfügbaren Attribute und deren Bedeutung: [...]
Hmm musste ja nur button angepast werden, und ich hab keine text_class, also rausgenommen.

Laut tutorial bin ich anscheinend fertig, also ausprobieren:
Quellcode scheint korregt erzeugt zu werden:
<img align="absmiddle" alt="CAPTCHA" src="http://localhost/APF/sites/GAME_mainpag ... d48f82a031"/>
Aber ich bekomm kein Bild zurückgeliefert, demnach wird nur "CAPTCHA" angezeigt anstatt dem Bild.

Irgendwo scheint noch was zu fehlen?

Danke für die Hilfe ;)

edit: align="absmiddle" erzeugt übrigens einen
line 120 column 20 - Warnung: <img> proprietary attribute value "absmiddle"
wc3 Warning, ist unschön, jetz is meine seite nichtmehr valide :cry:

Benutzeravatar
dr.e.
Administrator
Beiträge: 4537
Registriert: 04.11.2007, 16:13:53

Re: captcha

Beitrag von dr.e. » 14.08.2009, 12:30:23

Hallo Screeze,

an sich hast du nichts falsch gemacht. Ist
wirklich der Ordner, in dem deine Webseite liegt?

Wird unter der URL
ein Fehler angezeigt?
edit: align="absmiddle" erzeugt übrigens einen
Das Problem ist, dass die Anordnung des Text-Feldes gegenüber dem Bild verschoben ist, wenn dieses Attribut entfernt wird. Ich schau mir das aber nochmal an und versuche es zu umgehen.

Viele Grüße,
Christian
Viele Grüße,
Christian

Benutzeravatar
Screeze
Beiträge: 1920
Registriert: 05.08.2009, 09:49:04
Kontaktdaten:

Re: captcha

Beitrag von Screeze » 14.08.2009, 12:34:12

jep das is die seite, und es wird ein fehler angezeigt:
[configurationManager->getConfiguration()] Requested configuration with name "DEFAULT_actionconfig.ini" cannot be loaded from namespace "amp;modules::captcha::biz::actions" with context "sites::GAME_mainpage"!
anscheinend wird das & in der URL falsch ausgewertet.

edit: wenn ich die url in der adresszeile editiere, und das & durch & ersetze, bekomm ich ein einwandfreies bild.

Benutzeravatar
Screeze
Beiträge: 1920
Registriert: 05.08.2009, 09:49:04
Kontaktdaten:

Re: captcha

Beitrag von Screeze » 14.08.2009, 18:12:01

Hmm ich bin grad mit meim latein am ende :lol:
Ich hab das projekt n paar stunden offen gehabt, aber nicht angetastet, weil ich was andres gemacht hab.
als ich dann grad wieder was machen wollt, geh ich auf die seite, und aktualisier sie. Siehe da, das captcha funktioniert einwandfrei?
ich find auch kein & mehr in der adresse.....
sehr mysteriös... ich beobachte das mal weiter

Benutzeravatar
dr.e.
Administrator
Beiträge: 4537
Registriert: 04.11.2007, 16:13:53

Re: captcha

Beitrag von dr.e. » 14.08.2009, 23:22:59

Hi,

an sich sollte & vom Browser richtig interpretiert und als & abgeschickt werden. Damit hatte ich noch keine Probleme. Solltest du den Fehler nochmal feststellen, meld dich hier, dann versuchen wir das nochmal gemeinsam nachzustellen.

Viele Grüße,
Christian
Viele Grüße,
Christian

Benutzeravatar
Screeze
Beiträge: 1920
Registriert: 05.08.2009, 09:49:04
Kontaktdaten:

Re: captcha

Beitrag von Screeze » 15.08.2009, 10:58:09

dr.e. hat geschrieben:Hi,

an sich sollte & vom Browser richtig interpretiert und als & abgeschickt werden. Damit hatte ich noch keine Probleme.
Der meinung bin ich auch..
Aber was mir grade eingefallen ist:
Seit dem letzten FF update, hatte ich ab und zu mal festgestellt, dass in foren einzelne kleinere Bildchen oft nicht angezeigt wurden, stattdessen die alt texte... Evtl. war das das selbe problem.. woran das allerdings liegt weiß ich nicht, könnte ein FF bug sein oder ein bug eins meiner addons.. (evtl. adblock plus?)

Benutzeravatar
dr.e.
Administrator
Beiträge: 4537
Registriert: 04.11.2007, 16:13:53

Re: captcha

Beitrag von dr.e. » 17.08.2009, 07:59:19

Hi Screeze,

selbiges Problem habe ich auch mit dem FF 3.0.12. Das kam auch mit einem Update vor - gefühlt - 3 Wochen. Ich vermute ebenfalls einen Bug oder eine Nebenwirkung von ABP. Hatte aber leider noch keine Zeit für Nachforschungen. Sobald ich eine Idee habe, melde ich mich nochmal.

Viele Grüße,
Christian
Viele Grüße,
Christian

Benutzeravatar
dr.e.
Administrator
Beiträge: 4537
Registriert: 04.11.2007, 16:13:53

Re: captcha

Beitrag von dr.e. » 17.08.2009, 22:38:32

Hallo Screeze,

ich hab nun bei einem kleinen Test herausgefunden, dass es an ABP liegen muss. Mit einer Ausnahme-Regel konnte ich das php.de-Forum z.B. wieder voll anzeigen.

Ich hoffe, das hilft dir.
Viele Grüße,
Christian

Benutzeravatar
Screeze
Beiträge: 1920
Registriert: 05.08.2009, 09:49:04
Kontaktdaten:

Re: captcha

Beitrag von Screeze » 17.08.2009, 23:11:39

naja bei mir kommt das viel zu unregelmäßig (bis zu selten) als das ich das testen könnte, oder das mal störend gewirkt hat (außer das captcha), aber falls es doch zunimmt weiß ich worans liegt.

achja:
welches filter-abonement verwendest du denn?
Ich benutz den von dr.evil.

Benutzeravatar
dr.e.
Administrator
Beiträge: 4537
Registriert: 04.11.2007, 16:13:53

Re: captcha

Beitrag von dr.e. » 17.08.2009, 23:43:13

Hi,
welches filter-abonement verwendest du denn?
Ich benutz den von dr.evil.
ich benutze easylist aus den USA.
Viele Grüße,
Christian

Benutzeravatar
Screeze
Beiträge: 1920
Registriert: 05.08.2009, 09:49:04
Kontaktdaten:

Re: captcha

Beitrag von Screeze » 17.08.2009, 23:48:46

bei dir scheint das problem häufiger zu sein, seh ich das richtig?
evtl. mal den filter umstellen könnte da helfen, bei mir isses wie gesagt selten.. mir fällts villeicht 1-2mal am tag auf, bei dauernutzung :ugeek:

btw, is wohl eher OT oder

Benutzeravatar
dr.e.
Administrator
Beiträge: 4537
Registriert: 04.11.2007, 16:13:53

Re: captcha

Beitrag von dr.e. » 18.08.2009, 08:25:58

Hi,
bei dir scheint das problem häufiger zu sein, seh ich das richtig?
Jetzt nicht mehr, ich habe meine Whitelist gepflegt. ;)
Viele Grüße,
Christian

Benutzeravatar
dave
Beiträge: 903
Registriert: 04.02.2011, 19:03:57
Wohnort: Berlin
Kontaktdaten:

Re: captcha

Beitrag von dave » 26.02.2011, 20:52:40

Hallo zusammen,

auch wen der Thread schon etwas älter ist ... ich habe auch meine kleinen Problemchen beim Einbinden des Captcha. Es wird mir immer eine Fehlermeldung ausgegeben, die einfach gar nicht zum Thema passt ;).


Ich habe meine index.php entsprechend geändert und es komtm auch weiterhin mein Inhalt -> Das funktioniert:

Code: Alles auswählen

<?php
ini_set('html_errors', 'off');

// Page-Controller einbinden (f&uuml;r den unter 4.1 konfigurierten Ordner)
require_once('./apps/core/pagecontroller/pagecontroller.php');
import('core::frontcontroller','Frontcontroller');

// Seite erzeugen
$fC = &Singleton::getInstance('Frontcontroller');
$fC->setContext('projectone');

// Seite transformieren und ausgeben
echo $fC->start('sites::design1::pres::templates','konstrukt');

?>

Meine Konfiguration liegt folgendermassen:

Code: Alles auswählen

apps/config/modules/captcha/biz/projectone/DEFAULT_actionconfig.ini
mit dem Inhalt:

Code: Alles auswählen

[showCaptcha]
FC.ActionNamespace = "modules::captcha::biz::actions"
FC.ActionFile = "ShowCaptchaImageAction"
FC.ActionClass = "ShowCaptchaImageAction"
FC.InputFile = "ShowCaptchaImageInput"
FC.InputClass = "ShowCaptchaImageInput"
FC.InputParams = ""
Anschliessend bearbeite ich mein Formular.

Es kommt die Taglib hinzu:

Code: Alles auswählen

<form:addtaglib namespace="modules::captcha::pres::taglib" prefix="form" class="captcha" />
sowie mein Validator:

Code: Alles auswählen

<form:addvalidator
         namespace="modules::captcha::pres::validator"
         class="CaptchaValidator"
         button="UserButton"
         control="captcha"
/>
Anschliessend gebe ich das Captcha aus:

Code: Alles auswählen

<form:captcha name="captcha" validate="true" button="UserButton" clearonerror="true" />
Am Ende des Formulares auch der Absenden-Button:

Code: Alles auswählen

<form:button name="UserButton" class="art-button" value="Absenden" />

Wenn ich nun die Seite aufrufe, erhalte ich folgende Fehlermeldung:
[html_taglib_form::getFormElementByName()] No form element with name "captcha" composed in current form "UserForm" in document controller "register_controller". Please double-check your taglib definitions within this form (especially attributes, that are used for referencing other form controls)!
Mein Problem an der Sache bzw. was ich nicht nachvollziehen kann:
In meinem Controller register_controller.php frage ich das Captcha ja gar nicht ab. Ich habe im Controller keinen Aufruf wie:

Code: Alles auswählen

$captcha = $form->getFormElementByName('captcha')
Und selbst wenn, das Captcha habe ich ja entsprechend benannt ;). Also da steht ich grad echt mal auf dem Schlauch ...

Hat jemand eine Idee oder Lösung?

MfG
Dave

Benutzeravatar
dr.e.
Administrator
Beiträge: 4537
Registriert: 04.11.2007, 16:13:53

Re: captcha

Beitrag von dr.e. » 26.02.2011, 20:57:28

Hi Dave,

vergleiche mal die Definition deines Catcha mit dem folgenden Code:

Code: Alles auswählen

<form:addtaglib namespace="modules::captcha::pres::taglib" prefix="form" class="captcha" />
<form:captcha
   name="captcha"
   clearonerror="true"
/>
<form:addvalidator
   namespace="modules::captcha::pres::validator"
   class="CaptchaValidator"
   control="captcha"
   button="send"
/>
Der Tag <form:captcha /> braucht keine Adressierung eines Buttons. Die Fehlermeldung kommt in diesem Fall vermutlich vom addvalidator-Tag. Kannst du mal den kompletten Stacktrace posten? Die übrige Konfiguration sieht gut aus.
Viele Grüße,
Christian

Benutzeravatar
dave
Beiträge: 903
Registriert: 04.02.2011, 19:03:57
Wohnort: Berlin
Kontaktdaten:

Re: captcha

Beitrag von dave » 26.02.2011, 21:05:43

[EDIT]

Also das Problem an sich habe ich schonmal gelöst. Ich habe den Tag <form:addtaglib />

Code: Alles auswählen

<form:addtaglib namespace="modules::captcha::pres::taglib" prefix="form" class="captcha" />
leider nicht ins Formular gepackt sondern ausserhalb dieses. Ins Formular gepackt, schon klappt die Seite wieder. Jetzt wird mit langsam auch die ganze Taglib etwas klarer ^^. Nur eigene Taglibs erstellen ... aber das kommt sicher irgendwann noch.

Und die Zuweisung des Button habe ich im <form:captcha /> Tag entfernt, ist also nun korrekt.


Egal, weiter gehts :

Aber das Captcha-Bild wird nicht angezeigt. Wenn ich die Adresse zum Bild direkt eingebe, gibts folgendes:
Uncaught exception!
Exception-ID: ee924e57d2da6c63419951587149cef9
Type: InvalidArgumentException
Message: [ConfigurationManager->getConfiguration()] Requested configuration with name "DEFAULT_actionconfig.ini" cannot be loaded from namespace "config::captcha::biz::actions" with context "projectone"!
Number: 256
File: /is/htdocs/wp10589425_464WIA00JH/www/nlubb.de/apps/core/configuration/ConfigurationManager.php
Line: 257
STACKTRACE:
Call File Line
Frontcontroller->start() /is/htdocs/wp10589425_464WIA00JH/www/nlubb.de/index.php 19
FrontControllerInputFilter->filter() /is/htdocs/wp10589425_464WIA00JH/www/nlubb.de/apps/core/frontcontroller/Frontcontroller.php 456
FrontcontrollerRequestFilter->filter() /is/htdocs/wp10589425_464WIA00JH/www/nlubb.de/apps/core/filter/FrontControllerInputFilter.php 75
Frontcontroller->addAction() /is/htdocs/wp10589425_464WIA00JH/www/nlubb.de/apps/core/filter/input/FrontcontrollerRequestFilter.php 89
APFObject->__getConfiguration() /is/htdocs/wp10589425_464WIA00JH/www/nlubb.de/apps/core/frontcontroller/Frontcontroller.php 648
ConfigurationManager->getConfiguration() /is/htdocs/wp10589425_464WIA00JH/www/nlubb.de/apps/core/pagecontroller/pagecontroller.php 1041
Danke für jegliches Feedback!

Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast