fév 11

[PHP] Utiliser reCaptcha

ReCaptcha est une libraire qui permet d'ajouter facilement un captcha antispam performant sur un site web. Ce service est très populaire outre Atlantique (il est même utilisé par Twitter). Ce petit tutorial va expliquer comment s'en servir et les manières misent à disposition par reCaptcha pour personnaliser la partie d'un formulaire qui affiche le captcha.

Exemple de captcha antispam

Exemple de captcha antispam

Présentation de reCaptcha

Le spam est un vrai fléau sur le web. De nombreux sites essaient de faire des sécurités pour éviter qu'un robot utilise une application sur le web à la place d'un humain. Toutefois, la plupart des solutions existantes ne sont pas d'une grande efficacité. Malgré tout, l'outil reCaptcha se démarque du lot et est utilisé par des milliers de sites web.

ReCaptcha a également l'avantage d'être accessible grâce au formulaire qui peut être utilisé par les personnes ayant une déficience visuelle (le test visuel est alors remplacé par un test audio). Enfin, c'est gratuit et globalement facile à utiliser.

Tutorial d'utilisation de reCaptcha

1) S'inscrire sur le site recaptcha.net

La première étape consiste à s'inscrire sur le site http://recaptcha.net. Sachant que le projet recaptcha.net essaie de combattre le spam, vous pouvez presque est certain que votre adresse email utilisé pour l'inscription ne sera pas revendu à des tiers.

A la fin de l'inscription, il faut prendre note de la clé publique et de la clé privée. Sans ces deux informations, il ne sera pas possible d'utiliser la librairie.

2) Installer la librairie

Il existe plusieurs versions de la librairie et il existe également des plugins (notamment un plugin WordPress). Dans la liste des librairies reCaptacha il faut télécharger la version pour PHP. Une fois téléchargé, le fichier doit être décompressé puis installer quelque part sur l'hébergement du site web. Les débutants peuvent installer la librairie au même endroit où se trouve le formulaire qui utilisera la librairie. Les webmasters expérimentés peuvent installer la librairie dans un fichier où se situe toutes les librairies.

3) Code PHP pour afficher le captcha

Une fois que la librairie est sur l'espace web, il est possible de commencer à coder la page qui utilisera le captcha. Le code pour afficher ce captcha est relativement simple:

<?php
require_once('recaptchalib.php'); // Vérifier que l'URL relative correspond à l'emplacement du fichier (adapter si nécessaire)
$publickey = "..."; // Utiliser la clé que vous avez eu lors de l'inscription sur recaptcha.net
echo recaptcha_get_html($publickey); // Affiche le captcha
?>

Attention: il faut bien veiller à ce que l'URL relative corresponde à l'emplacement du fichier. Dans le cas contraire, il y aura une erreur sur la page car celle-ci n'aura pas réussi à accéder au fichier.

4) Code PHP de vérification

Le code PHP présenté ici est volontairement présenté à part de l'autre code. La raison est simple, il arrive que le formulaire de validation soit présent sur une autre page web. Dans le cas où le formulaire envois vers la même page, il est possible de joindre les codes sur la même page.

<?php
require_once('recaptchalib.php'); // Ne pas réafficher cette ligne dans le cas où ce code est sur la même page que le formulaire
$privatekey = "..."; // Utiliser la clé privée qui est donnée sur votre compte recaptcha.net
$resp = recaptcha_check_answer ($privatekey,
                                $_SERVER["REMOTE_ADDR"],
                                $_POST["recaptcha_challenge_field"],
                                $_POST["recaptcha_response_field"]);

if (!$resp->is_valid) { // Test si le captcha a bien été rempli
  // Si le captcha n'est pas valide
  echo 'Oups, le captcha antispam n\'est pas valide. Veuillez recommencer';
}
else{
  // Si le captcha est valide
  // Ici, utiliser votre code PHP pour traiter le formulaire
}
?>

5) Personnaliser l'aperçu du captcha

Les couleurs par défaut sont malheureusement très tape-à-l'œil. Le rouge ne va pas forcément avec le design de votre site. Il est alors pratique de pouvoir adapter le design du formulaire. Il y a quelques thèmes par défaut qu'il est possible d'utiliser. Pour cela il faut utiliser le code suivant sur votre page web entre <head> et </head>:

<script type="text/javascript">
var RecaptchaOptions={
lang: 'fr',
theme: 'clean'
};
</script>

A noter: ce code permet par la même occasion de franciser l'interface.

Il faut également savoir qu'il y a plusieurs thèmes de base possible. Il est possible de remplacer "clean" par une des valeurs suivantes: white, red (par défaut), blackglass ou custom. N'hésitez pas à tester pour voir à quoi ressemble l'interface dans chacun de ces cas.

fév 03

Changement de serveur effectué

A partir d'aujourd'hui même, le site InfoWebMaster est dorénavant hébergé sur les serveurs de Maniaweb. Le changement a été plus long que prévu, avec quelques mauvaises surprises à la clé. Cet article va revenir sur les principaux points qui ont fait l'histoire de cette migration d'hébergeurs.

Passé de PHP4 à PHP5

Tranquillement hébergé depuis plus d'un an sur les serveurs de 1and1, le site a du se déraciné pour pouvoir bouger. Le transfert des fichiers n'était pas la seule étape nécessaire pour ce déménagement, des modifications de scripts ont été nécessaire. En clair, le site est passé de PHP4 à PHP5.

Jusqu'à présent il n'était pas indispensable pour InfoWebMaster de passer sous PHP5 alors tous les codes était réalisé pour PHP4. Cela ne posait aucun problème donc tout fonctionnait pour le mieux. Néanmoins, ce déracinement à nécessité une modification d'une grande partie des scripts PHP pour que ceux-ci soient compatible avec PHP5. Certains changement étaient mineure, alors que dans d'autres cas il a fallu tout repenser le sa façon dont le script fonctionnait. C'est en grande partie à cause de cela que le temps de transfert à été si long.
(Lire la suite…)

icône 82 pixels flux RSS icône 82 pixels twitter icône 82 pixels Facebook

Partenaire

Bannière Protuts Bannière Diggons