<p>Hi bros !<br/>
Aujourd'hui, nous allons casser du robot spammeur B) .</p>
<p>J'avais déjà parlé avec Soulalex de la nécessité de changer le Captcha pour une solution un peu plus exotique sur le forum,</p>
<p>et il me semble que la situation est plutôt critique en ce moment, je me permet donc de publier <a href="http://cylgom.net/contact.php" rel="external nofollow">le script que j'utilise sur mon site</a>.</p>
<p>(tout le monde peut en profiter comme ça)</p>
<p> </p>
<p>Au départ, j'utilisais <a href="http://www.phpcaptcha.org/" rel="external nofollow">securimage</a>, puis des bots on commencé à savoir le déchiffrer.</p>
<p>En cherchant une solution je me suis dit "pourquoi ne pas utiliser l'ASCII-art ?" et comme c'était une idée extrêmement<strong><span style="color:#ff0000;"> badass</span></strong> je l'ai fait ^_^ .</p>
<p> </p>
<p>L'objectif est de passer inaperçu en utilisant un dessin en ascii-art, généré à partir des <a href="http://www.figlet.org/fontdb.cgi" rel="external nofollow">polices de caractère figlet</a> et d'un script php glané sur internet.</p>
<p>Pour produire et vérifier le captcha, j'ai préféré conserver securimage, en remplaçant toute la partie audio-visuelle par l'utilisation du script figlet.</p>
<p>Ainsi, securimage envoie une chaine de caractères au navigateur, qui formatée correctement laisse apparaitre le texte en ASCII-Art.</p>
<p> </p>
<p>Ce système est bien sur faillible, et on pourrait facilement en concevoir un plus fiable en ajoutant du "bruit" entre les lettres</p>
<p>et en rendant aléatoires les caractères utilisés dans la figure ASCII (si quelqu'un est motivé qu'il n'hésite pas :ph34r: ), mais pour l'instant</p>
<p>le combo est suffisamment peu commun pour éviter les bots, qui se déchaînent plutôt sur des images.</p>
<p> </p>
<p>A moins d'être la cible spécifique d'un imbécile qui aurait pour seul désir de vous embêter vous n'avez rien à craindre.<br/>
En tous cas depuis que je l'ai mis en application plus un seul bot ne m'a écrit .</p>
<p> </p>
<p><a class="attach-link" href="/assets/uploads/ips/monthly_07_2015/post-265-0-95677300-1436457044.png"><img alt="post-265-0-95677300-1436457044_thumb.png" src="/assets/uploads/ips/monthly_07_2015/post-265-0-95677300-1436457044_thumb.png" width="100"/></a></p>
<p><a href="http://www.mediafire.com/download/um6kdbdw0zbn6in/captcha.zip" rel="external nofollow">Vous pouvez le télécharger ici</a>, j'ai retiré toutes les fonctions de sécurité ajoutées à mon formulaire pour simplifier la démo, et le captcha est par défaut sensible à la casse.</p>
<p>Pour modifier la police utilisée, placez le fichier <span style="color:#0000ff;">.flf </span>dans <span style="color:#008000;">securimage/fonts</span> puis éditez la 1<sup>e</sup> fonction de <span style="color:#008000;">securimage/Figlet.php</span> pour changer 'standard' par le nom de votre police :</p>
<pre class="ipsCode prettyprint">
$defaultFont = 'standard'
</pre>
<p>Bien sur, vous pouvez aussi éditer <span style="color:#008000;">securimage/securimage.php</span> pour changer les paramètres du texte et de la vérification (générer des mots, changer la longueur etc.)</p>
<p>J'ai inclu un peu de css dans la démo, n'oubliez pas si vous décidez de tout réécrire de conserver une police monospace (là j'ai utilisé saxmono),</p>
<p>et de bien mettre la captcha dans une balise <span style="color:#0000ff;"><pre></span>, car le texte est préformatté avec des espaces (on parle d'ASCII Art tout de même ).</p>
<p>Le reste est assez évident dans la démo, j'ai raccourci le code autant que j'ai pu donc l'adaptation devrait être rapide.</p>
<p> </p>
<p>Enjoy !</p>