«

»

Mar 04 2011

Stampa Articolo

Aggiungere il captcha a Virtuemart

Questo articolo è valido per Joomla serie 1.5.x e Virtuemart 1.1.x)

captcha-virtuemart

Il modulo "chiedi un'informazione su questo prodotto" di Virtuemart è un bersaglio facile per le email di spam.

Per aggiungere un filtro captcha al modulo bisogna seguire questi tre passaggi:

1 - registrarsi presso http://recaptcha.net/ e ottenere le due "chiavi", ovvero i codici, per il proprio sito.

2 - scaricare il plugin reCaptcha e installarlo sul proprio sito e procedere alla sua configurazione:

* attivare il plugin
* immettere i due codici (public key e private key)
* impostare Set Inclusion Syntax con YES
* impostare Set Auto-verify con YES

captcha-config

3 - aprire il file joomla:

\components\com_virtuemart\themes\default\templates\pages\shop.ask.tpl.php

Trovare il codice (verso la riga 35):

e inserire sopra questa riga il testo:

{captcha}

Un esempio di questa integrazione è visibile qui.


ATTENZIONE: non è più richiesto l'inserimento nel file:

/administrator/components/com_virtuemart/classes/ps_communication.php

dopo la riga 128:

function mail_question(&$d)
{
global $vmLogger, $Itemid, $_SESSION, $VM_LANG,$mosConfig_live_site,$mosConfig_lang, $sess;

 

del seguente codice:


// Check if a captcha challenge has been made. If not, we know
// things are not right, so force the challenge anyway so it
// will be verified (and fail).
$challenge = JRequest::getCmd("recaptcha_challenge_field", null, 'POST');
if(!isset($challenge) || !$challenge) {
JRequest::setVar('recaptcha_challenge_field', 1, 'POST');
}

// Verify the captcha code.
$plugin = &JPluginHelper::getPlugin('system', 'jezReCaptcha');
$params = new JParameter($plugin->params);
plgSystemJezReCaptchaHelper::verifyCaptcha($params);


 

I link utili:
Discussione originale dal forum di VM (in inglese)
Plugin reCaptcha

19 comments

Vai al modulo dei commenti

  1. Alberto

    Bravo, descrizione procedura semplice e chiara.

    1. Admin Cyberspazio
      Admin Cyberspazio

      Grazie 🙂

  2. Sam Benia

    Salve, complimenti!!!!
    ma per la registrazione su VM, come si fa?
    non sono riuscito a farlo funzionare!!

    Grazie

    1. Admin Cyberspazio
      Admin Cyberspazio

      Che versione di virtuemart utilizzi?

      1. Sam Benia

        1.1.9

        1. Admin Cyberspazio
          Admin Cyberspazio

          Questo è per il modulo “chiedi un’informazione su questo prodotto” di Virtuemart e non per il modulo di Registrazione Virtuemart.

          Per il login dovrei vedere un po’… tuttavia con l’avvento di Joomla 2.5.x e Virtuemart 2.x il captcha dovrebbe essere incluso di default…

  3. Glenda

    Ciao,
    ho seguito le tue istruzioni ma il captcha non mi viene visualizzato.
    Il plugin è attivo.
    Si vede solo il codice {captcha}.
    Il sito è realizzato con Joomla 1.5 e Virtuemart 1.1.5. ( lo so vecchie versioni obsolete 🙂 )
    Ti linko una scheda prodotto.
    http://tinyurl.com/blzxskd
    Grazie

    1. Admin Cyberspazio
      Admin Cyberspazio

      Ciao, ho corretto il tutorial per il captcha su virtuemart, riprova con la configurazione indicata e togliendo il codice che era stato indicato per il file ps_communication.php

  4. puntoweb

    Ciao, non ho il file ps_communication.php’ manca proprio la cartella come posso fare?!

    1. Admin Cyberspazio
      Admin Cyberspazio

      Ciao, l’articolo si riferisce a Virtuemart versione 1.x, forse tu hai già Virtuemart della serie 2.

      1. puntoweb

        Ciao, dopo tanti tentativi l’ho trovato, ho la 1 e joomla in 1.5 a me però non funziona puoi aiutarmi per favore?

        1. Admin Cyberspazio
          Admin Cyberspazio

          Ho corretto il tutorial, in pratica forse per via del nuovo plugin, non bisogna inserire il codice nel file ps_communication.php.

          Puoi vedere il risultato qui

        2. puntoweb

          Ciao, ho riprovato ma non funziona lo stesso, come è possibile?Puoi aiutarmi gentilmente?Tramite il form dei prodotti arriva un sacco di spam!

        3. Admin Cyberspazio
          Admin Cyberspazio

          Se disattivi il plugin, si vede nel form il testo {captcha}?

    1. Admin Cyberspazio
      Admin Cyberspazio

      Se si disattiva il plugin, dovrebbe vedersi il testo {captcha}, se non lo vedi forse l’hai inserito nella pagina sbagliata, forse stai usando un Template per virtuuemart che non è quello di default.
      Infatti, dal link che mi hai messo, vedo che il form di richiesta appare sotto la scheda del prodotto, quindi è possibile che utilizzi un altro template per virtuemart, forse quello incluso nel template di joomla che è predefinito per l’attuale sito.
      Vedi se trovi un altro file shop.ask.tpl.php all’interno del tuo dominio.

      1. puntoweb

        Ciao, si come template ha gk_yourshop ma non trovo altri file, mi consigli di eliminare il form direttamente o puoi darmi una mano a trovare una soluzine alternativa?
        grazie

        1. Admin Cyberspazio
          Admin Cyberspazio

          Dovresti trovare nel file che forma quella pagina dove c’è il comando per il bottone INVIA e mettere il codice {captcha} appena sopra: credo che dovrebbe funzionare ugualmente.

Lascia un commento

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

Puoi usare i seguenti tag ed attributi HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">


*

Login

Register | Lost your password?