Les archives de FluxBB.fr
Vous n'êtes pas identifié(e).
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
) 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 ! 
Hors ligne
Alors (même si ça ne remettra pas en cause mon choix
), j'aimerais bien que tu me donnes un lien vers un autre forum que tu trouves mieux codé que punbb.
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
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 ?
Hors ligne
Bonjour 
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 
Fredo d;o)
"Un pas à la fois me suffit..." (Gandhi)
Hors ligne
Bonjour à tous 
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 
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...
à+ 
Fredo d;o)
"Un pas à la fois me suffit..." (Gandhi)
Hors ligne
Bonjour à tous 
La nouvelle version CaptchaGest 1.1.0 est disponible !
Toutes les remarques et suggestions sont les bienvenues...
Merci, à+ 
Dernière modification par FredoMkb (01-06-2007 02:09:35)
Fredo d;o)
"Un pas à la fois me suffit..." (Gandhi)
Hors ligne
Merci beaucoup vincent 
Dernière modification par ken (11-06-2007 18:10:36)
Hors ligne
je supprime plus de 10 robots par jour sur mon site
ça devient lourd! je viens de mettre en place l'astuce de vin100, on verra ce que ça donne 
Hors ligne
c'est bluffant!
plus aucune inscription depuis lundi!!!!!
comme dirait le grand patrick sébastien : pourvu que ça dure!
Hors ligne
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 
Hors ligne
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"... 
En tout cas, merci pour cette astuce vraiment super cool ! 
Hors ligne
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 
Hors ligne
c'est vincent qui va être content qu'on foute le bordel sur son astuce! 
Hors ligne
c'est vincent qui va être content qu'on foute le bordel sur son astuce!
C'est plutôt toi qui fout le bordel... 
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
steve2206 a écrit :c'est vincent qui va être content qu'on foute le bordel sur son astuce!
C'est plutôt toi qui fout le bordel...
Et toi ! 
(Et moi...
Et si quelqu'un me cite, lui aussi. Na.)
Dernière modification par M@x (25-07-2007 02:15:11)
...
Hors ligne
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
, 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
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) 
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
mais y'en a vraiment pas besoin, y'a pas des millions de possibilités hein 
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

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.. 
Hors ligne
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
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. 
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
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 
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
Re bonsoir
j'ai un petit souci au niveau de l'alignement :

Je souhaite afficher comme ci dessous :

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 
Hors ligne
Personne pour m'aider sur ce petit problème ? 
Hors ligne
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 ! 
Hors ligne
Merci :biere:
Hors ligne
Merci Pour cette Bonne Mod !
Dernière modification par Benji_X80 (25-10-2007 16:10:25)
BxNxG FOREVER - Forum
Hors ligne