Archives FluxBB.fr

Les archives de FluxBB.fr

Vous n'êtes pas identifié(e).

#51 21-05-2007 01:18:56

mangafan
Membre

Re : un captcha accessible

Hum... personnellement je trouve que PunBB est un model en terme de code si ce n'est le meilleur. J'ai dû transférer pas mal de fonctionnalités vers le forum d'un ami sous PhpBB ( Il ne voulait pas en changer pour PunBB sad ) et bien sans vouloir être grossier, j'en ai chié.

Et bizarrement, si je suis assez d'accord pour dire que le système de template est plus souple sous PhpBB, il pose beaucoup de problème quand il faut faire une modification dans le code php en lui même.


:canon: Mangafan : Mettez un chat dans votre processeur ! happy

Hors ligne

#52 21-05-2007 21:01:33

BertrandB
Membre

Re : un captcha accessible

Mpok a écrit :

Alors (même si ça ne remettra pas en cause mon choix wink), j'aimerais bien que tu me donnes un lien vers un autre forum que tu trouves mieux codé que punbb. smile

Attention: je n'ai pas dit que punbb était totalement exempt de critiques.. En particulier, je trouve la partie HTML/CSS assez mauvaise (mais valide), mais là on parlait de la partie php, et c'est justement à mon sens le vrai point fort de punbb.

Loin de moi la volonté de Troller ... et je manque vraiment d'expérience dans les "forum". Je suis venu à punbb parceque j'aime son ergonomie. Et le fait qu'il fonctionne en safe mode et avec sqlite sont deux plus que j'apprécie particulièrement et qui prouve la qualité du travail.

Hors ligne

#53 23-05-2007 19:04:08

Ju
Admin Fantôme

Re : un captcha accessible

J'approuve le fait que le code de PunBB est excellent, j'essais d'ailleurs autant que faire ce peut de m'inspirer de leurs politiques de code pour la création de mes scripts.
Prend le temps de voir à quoi correspondent les appels de class, tu verras que tout est très bien pensé.


Avant de poser une question, avez-vous consulté le WIKI ?
Effectué une recherche ?

CtrlAltSuppr.com Me

Hors ligne

#54 29-05-2007 18:56:57

FredoMkb
Membre

Re : un captcha accessible

Bonjour smile

BertrandB a écrit :

Plus sérieusement, j'ai fait les modif dans captchaguest pour qu'il utilise la session au lieu du champs caché. Par contre je n'ai pas trouvé comment passer la modif du mod à l'auteur d'origine.

Et bien, au moins deux solutions :

1. Poster un message dans le forum lié à la mod

2. M'envoyer un email

Ceci-dit, en ce moment je n'ai pas beaucoup de disponibilité pour m'en occuper, mais je veux bien étudier ta solution, je l'intégrerais dès que j'aurais un moment.

Merci pour ta contribution smile


Fredo d;o)
"Un pas à la fois me suffit..." (Gandhi)

Hors ligne

#55 30-05-2007 19:21:19

FredoMkb
Membre

Re : un captcha accessible

Bonjour à tous smile

Grâce à la contribution de BertrandB, j'ai modifié et fait évoluer la mod "CaptchaGuest", mais avant de le mettre à jour, s'il y a des courageux qui souhaitent le tester, ce serait super sympa smile

Le voici : CpatchaGuest 1.1.0

Qulques nouveautés au programme, notamment la présence de 4 listes différentes de questions à poser, à choisir individuellement ou à laisser le script la choisir de manière aléatoire, aussi, une fonction permettant de sauvegarder, dans un fichier indépendant, quelques infos des tentatives de post, afin de detecter les robots de spam pour les bannir du site.

Voilà, j'espère avoir vos remarques et suggestions...

à+ smile


Fredo d;o)
"Un pas à la fois me suffit..." (Gandhi)

Hors ligne

#56 01-06-2007 02:04:42

FredoMkb
Membre

Re : un captcha accessible

Bonjour à tous smile

La nouvelle version CaptchaGest 1.1.0 est disponible !

Toutes les remarques et suggestions sont les bienvenues...

Merci, à+ smile

Dernière modification par FredoMkb (01-06-2007 02:09:35)


Fredo d;o)
"Un pas à la fois me suffit..." (Gandhi)

Hors ligne

#57 11-06-2007 18:08:47

ken
Membre

Re : un captcha accessible

Merci beaucoup vincent smile

Dernière modification par ken (11-06-2007 18:10:36)

Hors ligne

#58 02-07-2007 07:41:47

nico_somb
Membre

Re : un captcha accessible

je supprime plus de 10 robots par jour sur mon site hmm ça devient lourd! je viens de mettre en place l'astuce de vin100, on verra ce que ça donne wink

Hors ligne

#59 04-07-2007 07:54:56

nico_somb
Membre

Re : un captcha accessible

c'est bluffant!

plus aucune inscription depuis lundi!!!!!

comme dirait le grand patrick sébastien : pourvu que ça dure!

Hors ligne

#60 08-07-2007 13:06:21

fightsoul
Membre

Re : un captcha accessible

Salut,
j'vient de trouvé sur un blog (sens-interdit.fr) un anti-spam assez efficace (100% de détection) qui à lui-même trouvé cette méthode sur un blog anglais (ici).
Cette méthode est assez simple à mettre en place, au il suffis de mettre un input avec un nom de type lastname et de la cacher avec le code css suivant :
visibility: hidden;
Si le champ est rempli c'est un robot puisque qu'un humain ne la vois pas et donc on ne l'enregistre pas smile

Hors ligne

#61 23-07-2007 17:44:31

steve2206
Membre

Re : un captcha accessible

Afin de trouver un peu plus d'ergonomie dans la page d'inscription, je pense qu'il serait plus utile de changer ta dernière modif en y ajoutant les <div>.
Sans trop se casser la tête, je veux dire sans avoir à modifer le fichier lang/french/lang_prof_reg.php, on peut donc faire ceci:

Pour ceux qui n'ont pas encore fait la modif, trouver:

<p><input type="submit" name="register" value="<?php echo $lang_register['Register'] ?>" /></p>

Pour ceux qui ont déjà fait la modif, trouver:

<?php             
            $question = array_keys($captcha_questions);
            $qencoded = md5($question[$captcha_index]);
            ?>
            <p>Afin de terminer votre inscription, veuillez répondre à la question suivante et envoyer le formulaire :</p>
            <p><label><strong><?php echo $question[$captcha_index] ?></strong><br />
            <input name="captcha" id="captcha" type="text" size="5" maxlength="10" />
            <input name="captcha_q" value="<?php echo $qencoded ?>" type="hidden" /><br /></label></p>

            <p><input type="submit" name="register" value="<?php echo $lang_register['Register'] ?>" /></p>

et remplacer par:

            <div class="inform">
                <fieldset>
                    <legend><?php echo 'Vérification anti-spams' ?></legend>
                    <div class="infldset">
            <?php             
            $question = array_keys($captcha_questions);
            $qencoded = md5($question[$captcha_index]);
            ?>
            <p>    Afin de terminer votre inscription, veuillez répondre à la question suivante et envoyer le formulaire :<br />
                (<u>ATTENTION:</u> écrivez tout en <strong>miniuscules</strong> pour que votre inscription soit prise en compte)</p>
            <p><label><strong><?php echo $question[$captcha_index] ?></strong><br />
            <input name="captcha" id="captcha" type="text" size="10" maxlength="10" />
            <input name="captcha_q" value="<?php echo $qencoded ?>" type="hidden" /><br /></label></p>
            </div>
                </fieldset>
            </div>

            <p><input type="submit" name="register" value="<?php echo $lang_register['Register'] ?>" /></p>

Notez que j'ai précisé d'écrire en minuscules car j'ai opté pour des questions où on répond des lettres (genre des couleurs, des initiales...), pensez à lever cette phrase si vous restez avec des chiffres afin d'éviter que les personnes répondent "cinq" a lieu de "5"... wink

En tout cas, merci pour cette astuce vraiment super cool ! smile

Hors ligne

#62 23-07-2007 17:46:35

Herbivor
Membre

Re : un captcha accessible

steve2206 a écrit :

Notez que j'ai précisé d'écrire en minuscules

De toute façon après tu peux faire un strtolower() sur le champ de réponse et ce sera tout en minuscules wink

Hors ligne

#63 23-07-2007 17:58:44

steve2206
Membre

Re : un captcha accessible

c'est vincent qui va être content qu'on foute le bordel sur son astuce! mdr

Hors ligne

#64 24-07-2007 18:42:54

romain9441
Admin locker

Re : un captcha accessible

steve2206 a écrit :

c'est vincent qui va être content qu'on foute le bordel sur son astuce! mdr

C'est plutôt toi qui fout le bordel... siffle


Avant de poser une question, avez-vous consulté la FAQ ou fait une recherche ?

Pas de support si pas d'adresse de forum !

Hors ligne

#65 25-07-2007 02:14:50

M@x
Membre

Re : un captcha accessible

romain9441 a écrit :
steve2206 a écrit :

c'est vincent qui va être content qu'on foute le bordel sur son astuce! mdr

C'est plutôt toi qui fout le bordel... siffle

Et toi ! ^^

(Et moi... tongue Et si quelqu'un me cite, lui aussi. Na.)

Dernière modification par M@x (25-07-2007 02:15:11)


...

Hors ligne

#66 06-08-2007 06:01:24

t0rk
Membre

Re : un captcha accessible

C'est extrement simple de casser ce genre de captchas, je viens de m'amuser a coder ca en python (pour celui avec les questions en lettres, c'est plus "difficile" qu'en chiffres/operation). j'ai un script python qui genere tous les md5 de toutes les questions possibles, et met les hash md5 + leur resultat respectif dans une database SQLite (un SQL en fichier ou memoire, pas besoin de srv *sql). Et donc un autre script qui SELECT le 'resultat' WHERE le hash = 'le hash dans le hidden input'. Un jeu d'enfants... Cette version avec l'arithmetique est encore pire smile, il suffit de faire une regex, de passer le texte dans la fonction eval() et c'est fini. L'autre captcha de PunBB qui genere une image avec des lignes H/V avec un ptit carré dedans et il faut cliquer dessus, cuila est pas terrible non plus, pcq il suffit de regarder la couleur qui domine (comme ca on sait que c le background), de regarder ensuite en style MATRICE 5x5 par exemple:

0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0

si le nombre de pixels avec la meme couleur (et ~ dans une rangée) et qui se touchent (au moins X connexions chacun avec les autres) est plus grand que Y alors c'est une zone ou l'ont peut cliquer. A mon avis c'est cassable a 100%...
J'pense que les meilleurs captchas qui restent simples a comprendre sont la deformation des chiffres/lettres, deformation NON-lineaire (aleatoire au maximum), differentes couleurs (style *bruit* pour empecher la -> segmentation <- facilement), etc.

J'viens de voir qu'il y a une nouvelle version ou c'est le texte, et en + *encodé*. Huhu voila le code super facile pour passer cet *encodage* en ASCII qu'un mortel peu lire tongue C'est du PYTHON, data1.txt contient la data en RAW:

import sys

data = open("data1.txt", "r").readlines()

for line in data:
  ret = line.find('<p><strong>')
  if ret == -1:
    continue
  end = line.find('</strong>')
  if end == -1:
    continue
  line = line[ret+11:end]
  ch = line.split(';')
  for i in xrange(len(ch)-1):
    sys.stdout.write(chr(int(ch[i][2:])))

le output:

C:\codes\easy_captcha>punbbed.py
Cinq plus trois =
---
Voici un bout de data1.txt:
(...)
            <div class="infldset">
                <p>Veuillez noter le résultat numérique de l'opération suivante :  </p>

                <p><strong>Cinq plus trois =</strong>
                    <input name="captcha" id="captcha" type="text" size="5" maxlength="10" value="" style="text-align: center;"   tabindex="6" />
                </p>
            </div>
(...)

OOPS, ARF le POST a transformé les valeurs encodées de hex a ASCII (le: 'Cinq plus trois =' dans la data) hmm

A partir de la c'est extremement simple a generer une bonne reponse. J'peux reuitiliser le code que j'ai fais pour casser la version de vin100. On utiliser des classes comme iterators, avec par exemple:
    self.val = [['un', '1'], ['deux', '2'], ['trois', '3'], ['quattre', '4'], \
                ['cinq', '5'], ['six', '6'], ['sept', '7'], ['huit', '8'], \
                ['neuf', '9'], ['dix', '10']]
et une autre avec:
    self.val = [['fois', '*'], ['plus', '+'], ['moins','-']]

on boucle, on construit toute les possibilités, on met dans une variable a chaque fois puis on check if num_iter1.val[i][0] + ' ' + op_iter.val[j][0] + ' ' + num_iter2.val[k][0] si c'est le cas:
on a qu'a utiliser les 2emes items pour faire un eval:
resultat = eval(num_iter1.val[i][1]+op_iter.val[k][1]+num_iter2.val[k][1])

Boom, fini (pour la majscule de debut pendant le IF il suffit de faire une comparaison case INSENSITIVE). Ca prendra moins d'une demi seconde a calculer, de plus, c'est super simple a utiliser un CRC32 ou 16 et une table des valeurs CRC avec leur resultat correspondant pour speeder la recherche, euh genre to achieve 0.001sec tongue mais y'en a vraiment pas besoin, y'a pas des millions de possibilités hein smile

Bien j'vais vous laisser il est 6h du mat il faudrait que je dorme un peu! a+.

Your Captchas belong to us.

Dernière modification par t0rk (06-08-2007 06:03:35)

Hors ligne

#67 06-08-2007 09:09:30

Mpok
Néo Admin

Re : un captcha accessible

tongue
Excellente analyse, et merci d'avoir fait l'effort de la poster..

Cela dit, même si le but d'un captcha est d'empêcher le maximum de bots de s'enregistrer, il n'a jamais été dit qu'il empêcherait TOUS les bots de le faire..
Cela ne fait que rajouter une couche de protection, qui est forcément incomplète.
Il ne faut pas confondre un captcha avec un système d'identification, c'est pourquoi le terme "casser le captcha" me semble peu approprié.

Et je m'avance peut-être un peu, mais je doute que la majorité des bots soit aussi "clairvoyants" que toi.. wink

Hors ligne

#68 06-08-2007 09:26:10

vin100
Membre

Re : un captcha accessible

l'idéal, comme nous l'avons dit plus haut, c'est d'utiliser des questions personnalisées qui attendent des réponses en toutes lettres, l'inconvénient après c'est l'orthographe des utilisateurs...

en tout cas merci pour cette petite démonstration, en ce qui concerne les captcha images, cela ne m'intéresse pas dans la mesure où il ne sont pas accessibles

Hors ligne

#69 06-08-2007 21:57:57

romain9441
Admin locker

Re : un captcha accessible

J'ai pourtant utilisé une méthode, pas terrible certes, avec des questions avec des chiffres, je n'ai pas encore remarqué un bot inscrit.

Alors, pour le moment je vais voir ce que ça donne, le système doit être mis en place depuis le début de l'année. wink


Avant de poser une question, avez-vous consulté la FAQ ou fait une recherche ?

Pas de support si pas d'adresse de forum !

Hors ligne

#70 21-09-2007 10:33:56

foxmask
Lugo

Re : un captcha accessible

j'ai songé à une idée de question unique donc la réponse varie tout le temps :

Quelle est la longueur de votre pseudo (moins/plus/divisé par) X :

c'est imparable wink

Le bot qui trouvera la parade est pas né ^^


http://www.foxmask.info
HaveFnuBB! le seul forum produit avec le framework PHP5 Jelix
(dé)pot de miel
Membre de la CoreTeam Jelix

Hors ligne

#71 29-09-2007 18:09:53

KiMiz
Membre

Re : un captcha accessible

Re bonsoir

j'ai un petit souci au niveau de l'alignement :

ckerw1e3.jpg

Je souhaite afficher comme ci dessous :

l1uugq2o.jpg

Le code :

            <div class="inform">
                <fieldset>
                    <legend><?php echo 'Vérification anti-spams' ?></legend>
                    <div class="infldset">
            <?php             
            $question = array_keys($captcha_questions);
            $qencoded = md5($question[$captcha_index]);
            ?>
            <p>    Afin de terminer votre inscription, veuillez répondre à la question suivante et envoyer le formulaire :<br />
                (<u>ATTENTION:</u> écrivez tout en <strong>miniuscules</strong> pour que votre inscription soit prise en compte)</p>
            <p><label><strong><?php echo $question[$captcha_index] ?></strong><br />
            <input name="captcha" id="captcha" type="text" size="10" maxlength="10" />
            <input name="captcha_q" value="<?php echo $qencoded ?>" type="hidden" /><br /></label></p>
            </div>
                </fieldset>
            </div>

            <p><input type="submit" name="register" value="<?php echo $lang_register['Register'] ?>" /></p>

Comment faire ?

Encore merci wink

Hors ligne

#72 04-10-2007 21:53:23

KiMiz
Membre

Re : un captcha accessible

Personne pour m'aider sur ce petit problème ? huh

Hors ligne

#73 06-10-2007 10:03:55

mangafan
Membre

Re : un captcha accessible

Je peux te proposer cette petite modif.

            <?php
            $question = array_keys($captcha_questions);
            $qencoded = md5($question[$captcha_index]);
            ?>
            <div class="inform">
                <fieldset>
                    <legend>Captcha de sécurité</legend>
                    <div class="infldset">
                        <p>Afin de terminer votre inscription, veuillez répondre à la question suivante et envoyer le formulaire :<br />(<u>ATTENTION:</u> écrivez tout en <strong>miniuscules</strong> pour que votre inscription soit prise en compte)</p>
                        <div class="rbox">
                            <label>
                                <strong><?php echo $question[$captcha_index] ?></strong>
                                <br />
                                <input name="captcha" id="captcha" type="text" size="5" maxlength="10" />
                                <input name="captcha_q" value="<?php echo $qencoded ?>" type="hidden" />
                                <br />
                            </label>
                        </div>
                    </div>
                </fieldset>
            </div>
            <p>
                <input type="submit" name="register" value="<?php echo $lang_register['Register'] ?>" />
            </p>

Ca donne ça : http://www.guild-arcadia.com/forum/register.php

Edit : Enfin moi finalement j'ai enlevé les <br /> je préfère sans.

Dernière modification par mangafan (06-10-2007 10:05:30)


:canon: Mangafan : Mettez un chat dans votre processeur ! happy

Hors ligne

#74 06-10-2007 14:23:31

KiMiz
Membre

Re : un captcha accessible

Merci :biere:

Hors ligne

#75 25-10-2007 16:10:06

Benji_X80
Membre

Re : un captcha accessible

Merci Pour cette Bonne Mod !

Dernière modification par Benji_X80 (25-10-2007 16:10:25)


BxNxG FOREVER - Forum

Hors ligne

Pied de page des forums