Captcha ASCII-Art
-
<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>
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login
J'en parlerai avec Azad.</p>