join_form, ho aggiunto:
<div class="field"
tal:define="error errors/controllo| nothing;
controllo request/controllo | nothing;
global n_check1 python:here.num_random();
global n_check2 python:here.num_random();"
tal:attributes="class python:test(error, 'field error',
'field')">
<label for="username"
i18n:translate="label_controllo">What'is the sum of
<span tal:content="n_check1">num1</span> added to <span
tal:content="n_check2">num2</span>?</label>
<span class="fieldRequired" title="Required"
i18n:attributes="title title_required;"
i18n:translate="label_required">(Required)</span>
<div i18n:translate="help_controllo"
class="formHelp">
Enter a number
</div>
<div tal:content="error">Validation error output</div>
<input type="text"
name="controllo"
id="controllo"
size="30"
value="controllo"
tal:attributes="value controllo;"
/>
</div>
<div class="field"
tal:define="error errors/check1| nothing;
check1 request/check1 | nothing;"
tal:attributes="class python:test(error, 'field error',
'field')">
<label for="username"
i18n:translate="label_check1"></label>
<div tal:content="error">Validation error output</div>
<input type="hidden"
name="check1"
id="check1"
size="30"
value="check1"
tal:attributes="value n_check1;"
/>
</div>
<div class="field"
tal:define="error errors/check2| nothing;
check2 request/check2 | nothing;"
tal:attributes="class python:test(error, 'field error',
'field')">
<label for="username"
i18n:translate="label_check2"></label>
<div tal:content="error">Validation error output</div>
<input type="hidden"
name="check2"
id="check2"
size="30"
value="check2"
tal:attributes="value n_check2;"
/>
</div>
e in join_form_validate ho aggiunto:
controllo = context.REQUEST.get('controllo', None)
if not controllo:
missing('controllo')
try:
check1 = int(context.REQUEST.get('check1', None))
check2 = int(context.REQUEST.get('check2', None))
controllo = int(controllo)
if check1 + check2 <> controllo:
wrongresult('controllo')
è per un vecchio portale, adattalo al tuo attuale.
Il 14/01/2015 11:06, Francesco Benincasa ha scritto:
Ottima idea,
grazie!
Francesco.
* mercoledì 14 gennaio 2015, alle 10:19, Yuri scrive:
Io ho customizzato la join con due random e chiedendo l'utente di
fare la somma. Poi passo tutti i dati e verifico in register.
è su da mesi e zero utenti spam :-D
Il 13/01/2015 17:40, Luca Fabbri ha scritto:
Il servizio recaptcha di Google è morto è facilmente bucabile,
molti siti (Plone e non) stanno avendo questo problema.
Fino a quando la sua evoluzione non sarà disponibile potresti
passare ad una protezione tipo quella fornita da
collective.z3cform.norobots. Di recente abbiamo lavorato per
rendere il prodotto facilmente usabile anche senza z3c.form, un
po' come fa collective.recaptcha. Vedi il lavoro di Andrea qui nel
branch qui:
https://github.com/sylvainb/collective.z3cform.norobots/pull/5
Aggiungere una simile protezione, anche senza prodotti aggiuntivi,
è molto semplice: personalizzi la join_form aggiungendovi un campo
con la domanda e aggiungi nella register la verifica.
2015-01-13 15:50 GMT+01:00 Francesco Benincasa
<[email protected] <mailto:[email protected]>>:
Ciao a tutti,
da qualche tempo mi arrivano delle iscrizioni spam sul mio portale
plone
nonostante abbia attivato i captcha nel form di registrazione.
Ho Plone 4.0.5
Qualche idea o suggerimento?
Grazie,
_______________________________________________
Plone-IT mailing list
[email protected]
https://lists.plone.org/mailman/listinfo/plone-plone-it
http://plone-regional-forums.221720.n2.nabble.com/Plone-Italy-f221721.html