Aggiungere il captcha a 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. Quindi:
- attivare il plugin
- immettere i due codici (public key e private key)
- impostare Set Inclusion Syntax con YES
- impostare Set Auto-verify con NO
3- aprire il file joomla\components\com_virtuemart\themes\default\templates\pages\shop.ask.tpl.php
Trovare il codice (verso la riga 35) <input type="button" name="send".. e inserire proprio sopra questa riga il testo:
{captcha}
4- Infine, aprire il file /administrator/components/com_virtuemart/classes/ps_communication.php e verso la riga 128 cercare il codice
function mail_question(&$d)
{
global $vmLogger, $Itemid, $_SESSION, $VM_LANG,$mosConfig_live_site,$mosConfig_lang, $sess;
Immediatamente sotto la riga, aggiungere il 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
Virtuemart e Privacy
In questo sito si spiega come introdurre il disclaimer sulla privacy in Virtuemart e si scaricano i file già configurati.
Quando accedete a un sito Web esterno da www.webalex.it ricordate che esso è indipendente dal presente sito e che quest'ultimo non ha alcun controllo sul contenuto del sito in questione. Inoltre, l'esistenza di un collegamento ipertestuale (link) verso un sito esterno non comporta l'approvazione o un'accettazione di responsabilità circa il contenuto o l'utilizzazione di detto sito.
