Module Captcha - Creadunet 3
Depuis Creadunet 3.0.0 vous pouvez mettre la captcha que vous souhaitez.
Le script est livré avec 2 captchas :
- captcha classique appelée captcha Creadunet
- captcha publicitaire (solvemedia)
Si vous voulez en ajouter une autre, ça se passe dans :
/mods/captcha/captcha.php
Les instructions sont dans le fichier.
Voici le code, avec la Captcha Creadunet
Solvemedia est désactivé par /* */
/* UTILISATION de la CAPTCHA CREADUNET */
if (isset($_POST['captcha']) && md5($_POST['captcha']) != $_SESSION['captcha']) {
$captchaReponse = _t("Code Anti-Robot invalide");
} else {
$captchaReponse = 'ok';
}
$txtCaptcha = '<img src="/mods/captcha/captchaCreadunet/captcha.php" alt="Captcha" id="captcha" />
<b>'._t("Code Anti-Robot :").'</b>
<input type="text" name="captcha" value="" />';
/* UTILISATION de la CAPTCHA SolveMedia
require_once('solvemedia/solvemedialib.php'); //include the Solve Media library
if (isset($_POST['adcopy_challenge'])) {
$privkey = 'private_key_to_put_here';
$hashkey = 'hash_key_solve_media';
$solvemedia_response = solvemedia_check_answer($privkey,
$_SERVER['REMOTE_ADDR'],
$_POST['adcopy_challenge'],
$_POST['adcopy_response'],
$hashkey);
if (!$solvemedia_response->is_valid) {
//handle incorrect answer
$captchaReponse = _t("Code Anti-Robot invalide").' : '.$solvemedia_response->error;
}
else {
$captchaReponse = 'ok';
}
}
$txtCaptcha = solvemedia_get_html('key_solvemedia', null, true); //true for https, false for http
//$txtCaptcha = solvemedia_get_html('key_solvemedia'); //si site pas https
*/
La même chose en désactivant la capcha creadunet, et en activant solvemedia
(attention à la dernière ligne solvemedia, avec ou sans httpS - prendre la bonne ligne !!)
/* UTILISATION de la CAPTCHA CREADUNET
if (isset($_POST['captcha']) && md5($_POST['captcha']) != $_SESSION['captcha']) {
$captchaReponse = _t("Code Anti-Robot invalide");
} else {
$captchaReponse = 'ok';
}
$txtCaptcha = '<img src="/mods/captcha/captchaCreadunet/captcha.php" alt="Captcha" id="captcha" />
<b>'._t("Code Anti-Robot :").'</b>
<input type="text" name="captcha" value="" />';
*/
/* UTILISATION de la CAPTCHA SolveMedia */
require_once('solvemedia/solvemedialib.php'); //include the Solve Media library
if (isset($_POST['adcopy_challenge'])) {
$privkey = 'private_key_to_put_here';
$hashkey = 'hash_key_solve_media';
$solvemedia_response = solvemedia_check_answer($privkey,
$_SERVER['REMOTE_ADDR'],
$_POST['adcopy_challenge'],
$_POST['adcopy_response'],
$hashkey);
if (!$solvemedia_response->is_valid) {
//handle incorrect answer
$captchaReponse = _t("Code Anti-Robot invalide").' : '.$solvemedia_response->error;
}
else {
$captchaReponse = 'ok';
}
}
$txtCaptcha = solvemedia_get_html('key_solvemedia', null, true); //true for https, false for http
//$txtCaptcha = solvemedia_get_html('key_solvemedia'); //si site pas https
En gros, il faut
1- un code pour afficher la captcha
2- un code pour vérifier la captcha, qui renvoie OK si c'est bon.