[Plone-IT] iscrizioni spam nonostante captcha

Yuri yurj a alfa.it
Mer 14 Gen 2015 11:41:17 UTC


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
>>> <ciccio2000 a users.sf.net <mailto:ciccio2000 a users.sf.net>>:
>>>
>>>     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,



Maggiori informazioni sulla lista Plone-IT