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 https://www.google.com/recaptcha/intro/  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):

<input name="send" type="button" />

 

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 pensieri riguardo “Aggiungere il captcha a Virtuemart

Lascia un commento