Aggiungere il captcha a Virtuemart
Questo articolo è valido per Joomla serie 1.5.x e Virtuemart 1.1.x)
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
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
Bravo, descrizione procedura semplice e chiara.
Grazie 🙂
Salve, complimenti!!!!
ma per la registrazione su VM, come si fa?
non sono riuscito a farlo funzionare!!
Grazie
Che versione di virtuemart utilizzi?
1.1.9
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…
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
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
Ciao, non ho il file ps_communication.php’ manca proprio la cartella come posso fare?!
Ciao, l’articolo si riferisce a Virtuemart versione 1.x, forse tu hai già Virtuemart della serie 2.
Ciao, dopo tanti tentativi l’ho trovato, ho la 1 e joomla in 1.5 a me però non funziona puoi aiutarmi per favore?
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
Ciao, ho riprovato ma non funziona lo stesso, come è possibile?Puoi aiutarmi gentilmente?Tramite il form dei prodotti arriva un sacco di spam!
Se disattivi il plugin, si vede nel form il testo {captcha}?
Ciao, no non vedo nulla
http://www.kimikando.it/prodotti-per-la-pulizia/61-chamonix.html
no, non si vede nulla..!!
http://www.kimikando.it/prodotti-per-la-pulizia/61-chamonix.html
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.
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
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.