Re: Captchas und Plone 3.2.2 ...
Ogi Vranesic <[email protected]>
| Newsgroups | gmane.comp.web.zope.german |
|---|---|
| Organization | redCOR |
| Message-ID | <[email protected]> |
On Saturday 23 May 2009 19:54, Winfried Ritsch wrote:
> Hallo,
>
> Ich habe eine Plone Site 3.2.2 mit buildout aufgesetzt und wollte dort um
> anonymous Kommentare zuzulassen, Captchas installieren. Leider
> funktionierte qPloneCaptchas (auch branch plone3.2) nicht und ich sah dass
> es
> collective.captchas gibt.
>
> Fragen:
>
> a) Ist collective.captchas empfehlenswert ? (also zukunftsicher)
>
> wenn ja, würde ich sie gerne einsetzen.
>
> Dazu die Unterfrage: Wie setzt man die ein ?
>
> aus den Beispiel captchas.txt im browser folder werde ich nicht klug
> (zuwenig basiswissen siehe unten)
>
>
> b) wenn a) unklug
>
> Wie fixed man qPloneCaptchas, bei mir bleiben die immer auf der seite
> haengen, also validieren nicht.
>
> Anhang:
> Info zu a)
>
> Habe template wie bei collective.captchaforms geschafft und ein
> validate_captcha.py dazugeben und als validator eingetragen (im
> Webinterface einstweilen):
>
> from Products.CMFPlone import PloneMessageFactory as _
>
> captcha_valid = context.restrictedTraverse('@@captcha').verify(captcha)
>
> if not captcha_valid:
> state.setError('captcha', _(u'This field is required, please provide some
> information.'), 'captcha_missing')
>
> if state.getErrors():
> context.plone_utils.addPortalMessage(_(u'Please correct the indicated
> errors.'), 'error')
> return state.set(status='failure')
> else:
> return state
>
>
> jedoch bekomme ich (wahrscheinlich) wegen
>
> captcha_valid = context.restrictedTraverse('@@captcha').verify(captcha)
>
> immer "Unzureichende Berechtigung"
>
> Bitte um Hinweise Hilfe oder Alternativlösungen.
>
> mfG
> Winfried
Hallo Winfried
wir haben eine Site von Plone 2.5 zu Plone 3 migriert und das Problem mit
Captcha habe ich so gelöst, (da PloneCaptchas durch collective.captchas
ersetz werden muss) dass das Formular als BrowserView gemacht ist
und dort kann mann Captcha-Klasse importieren, eine Instanz erstellen und mit
einer Methode der BrowserView-Klasse durch den Gebrauch von
captcha.verify(value) validieren, ob die Eingabe mit dem Captcha-Code
übereinstimmt. Vielleicht hat es noch eine bessere und einfachere Lösung,
aber ich weiss sie nicht.
Für weitere Frage stehe ich gerne zur Verfügung.
Ogi
_______________________________________________
zope mailing list
[email protected]
https://mail.dzug.org/mailman/listinfo/zope