Convertire un template per Joomla 3
8 agosto 2012
Un ottima classe php per gestire le sitemaps
29 agosto 2012

Il captcha è la tecnica usata nel web per evitare che dei programmi automatici bombardino i siti di spam utilizzando le maschere (form) fondamentali per avere dei ritorni da parte dei visitatori del sito (richiesta di informazioni, registrazioni, commenti ad articoli o prodotti ecc).

La tecnica si basa sulla richiesta, negli stessi form, di azioni che sono molto semplici da eseguire per esseri umani ma praticamente impossibili per programmi automatici: principalmente si tratta di inserire scritte leggendole da un’immagine distorta, oppure fare piccole operazioni matematiche fino a, come ho visto oggi nel sito keycaptcha.com, costruire un puzzle.

Joomla implementa di base il captcha di reCAPTCHA: di default non è attivo, ma lo si può attivare in pochi click per proteggere almeno i form di registrazione da attacchi di spam.

1. Ottenere le chiavi pubblic-key e private-key dal sito reCAPTCHA

reCAPTCHA fa parte della galassia Google.

Per ottenere queste due chiavi indispensabili per attivare il servizio si può entrare nel sito http://www.google.com/recaptcha con le proprie credenziali google.

Andare quindi alla pagina my account e cliccare su Add e new site.

Compilare quindi il form successivo con il proprio dominio e premere il tasto Create e key.

Si accede quindi ad una pagina in cui sono indicate la public-key e la private-key per il dominio in questione.

2. Configurare l’apposito plug-in di Joomla

Nel back-end di Joomla andare in Estensioni>Gestione plugin e cercare il plug-in Captcha – ReCaptcha (di norma è attivo) e nella pagina di configurazione del plugin inserire le due chiavi ottenute nel passo precedente.

Salvare quindi le modifiche.

3. Attivare il Captcha per la gestione della registrazione degli utenti

Sempre nel back-end, andare in Utenti>Gestione Utenti e cliccare sull’icona Opzioni in alto sulla destra. Nella schermata di parametri che appare impostare re-Captcha alla voce Captcha e salvare.

4. Il Captcha difende ora strenuamente la vostra pagina di registrazione utenti

A volte esagera persino …

 

 

14 Comments

  1. mirko mercatali ha detto:

    Ciao io ho un problema… avevo già fatto esattamente come hai scritto sopra e grazie a te ho avuto la conferma. il mio problema è che sul sito nella registrazione utente il captcha non si vede e mi dice “Valore vuoto non consentito. ”

    invece se vado in Password dimenticata? Nome utente dimenticato? il captcha si vede correttamente.

    io non so piu’ dove sbattere il naso. mi potresti dare una mano?

    Joomla! 2.5.6 | template di gavickpro

    • admin ha detto:

      Ciao Mirko,
      per me il massimo indiziato è il template che probabilmente sostituisce form di registrazione utente.
      Per verificare l’ipotesi, attiverei momentaneamente uno dei template di default, uno dei beez.
      Se il problema si risolve per lo meno si sa dove cercare (dentro la cartella html del template)

      Giorgio

  2. Massimiliano ha detto:

    Ma se lo volessi inserire nel form di un singolo contatto?

    • admin ha detto:

      Ciao Massimiliano,

      non sono sicuro che sia possibile (magari posso fare una ricerca).
      Io solitamente risolvo creando un form con ChronoForms (che consente di inserire un captcha.

      Giorgio

  3. Gabriele Chiesa ha detto:

    Grazie di cuore. Ho trovato la tua soluzione che ha risolto il problema su Joomla! 2.5.11 Stable. Ti ricorderò nella mia preghierina di questa sera 😉 🙂

  4. roberto ha detto:

    grazie

  5. mick ha detto:

    molto utile, grazie

  6. Manu ha detto:

    Ciao, ho fatto tutte i passaggi che hai consigliato ma alla fine il captcha non si vede perciò è impossibile compilare il form dei conttati…consigli?
    Grazie!

    • admin ha detto:

      Ciao Manu,
      sei sicura che il plug-in Captcha – ReCaptcha abbia lo stato Attivo?
      Potrebbe essere un problema di template: prova ad attivare uno dei template di default e verifica se il captcha si vede

      Giorgio

  7. Massimo ha detto:

    Salve ragazzi, anch’io ho lo stesso problema di Mirko, anche a me esce fuori il messaggio “valore vuoto non consentito”. Il problema è che non visualizzo (lato utente) la form dove inserire il cod. captcha, sicuramente devo intervenire sul template per inserire il tag fornito dalla registrazione su google per l’otenimento delle key da inserire. Ma dove trovo il template da modificare?

    • admin ha detto:

      Vale in consiglio che ho dato a Mirko, ovvero quello di verificare se usando uno dei template di default di Joomla 2.5 il problema si risolve.
      Se il problema si risolve con il template di default, la responsabilità del malfunzionamento è del template in uso e lì va cercata la soluzione al problema, magari contattando l’assistenza del produttore o sbirciando tra i suoi forum.
      La gestione del captcha sul form di iscrizione è infatti una funzionalità prevista dal core di Joomla e dovrebbe funzionare senza costringere nessuno ad aggiungere tag di sorta: il template può però, per ragioni sue, bypassare con la tecnica dell’override i form del core di Joomla e gestire male questa funzionalità.
      In particolare, il form di registrazione alternativo del template dovrebbe essere
      templates/nome_template/html/com_users/registration/default.php
      dove con nome_template ho indicato la cartella specifica del template.
      Si può provare a cambiare nome a questo file per disabilitare l’override del template al form di default.
      Altro non so dire, senza avere informazioni più specifiche.

  8. Luigi ha detto:

    Ciao a tutti.
    Con Joomla 2.5 e purtroppo non vedo i codici captcha per cui nella mia form di registrazione del contatto è di fatto impossibile da compilare (mi segnala che manca sempre un campo).

    – Ho provato disattivando il template utilizzando uno standard, ma senza risultato

    – Ho aggiornato i parametri nel recaptcha.php (del plugin)
    //const RECAPTCHA_API_SERVER = “http://api.recaptcha.net”;
    const RECAPTCHA_API_SERVER = “http://api.recaptcha.net/recaptcha/api”;
    //const RECAPTCHA_VERIFY_SERVER = “api-verify.recaptcha.net”;
    const RECAPTCHA_VERIFY_SERVER = “www.google.com”;

    ma non cambia nulla.

    – Ho rigenerato le chiavi su Google, e le ho sostituite nella configurazione del plugin, ma senza risultato.

    La mia form di registrazione è questa, se può essere utile:
    http://www.altramantova.it/it/register.html

    Qualcuno sa darmi una soluzione ?
    Grazie

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *