JeuWeb - Crée ton jeu par navigateur
[Résolu] Anti bot assez efficace? - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : [Résolu] Anti bot assez efficace? (/showthread.php?tid=2574)

Pages : 1 2


[Résolu] Anti bot assez efficace? - Kassak - 17-05-2008

Bonjour, je souhaite rajouter une petite sécurité a mon inscription, mais je ne veux pas mettre d'image ou il faut recopier le code, la plupart du temps illisible, mais surtout moche....bref pas bien !


J'avais pensé a en faire un moi même, à chaque refresh je crée 2 variables contenant chacun un nombre de 1 a 10, et le membre doit rentrer dans le champ la somme des deux chiffres.
C'est efficace ou cela ne sert strictement à rien?


Sinon, j'avais vu sur un site un système d'anti bot super bien, il y avait comme une grille de sudoku, avec des chiffres dedans, a coté une case avec 2 chiffres au hasard, il fallait clique sur ces chiffres dans la grille...

Si vous avez des infos, je suis preneur, je cherche un anti bot originale^^


RE: Anti bot assez efficace? - Psykose - 17-05-2008

Un système original ?
Pourquoi pas faire un système d'énigme ou de rébus (impossible à trouver pour les bots) dont la réponse est super simple, ou même un personnage célèbre à trouver ?

Moi en tout cas j'utilise un système en javascript qui permet au cas où la personne ne trouverait pas de changer d'énigme, voila mon code si ça t'intéresse :
Code PHP :
<?php 
<script language="javascript">
function
devinette(){
/*On crée un nombre aléatoire à 5 possibilités*/
var nb_aleatoire = Math.round(Math.random() * 5);
var
element_1 = document.getElementById('question');
var
element_2 = document.getElementById('cache');

var array = new Array(
'Quel personnage célèbre français a perdu à Waterloo au 19ème siècle ?',
'Je suis suis une celebre reine de l\'égypte ancienne, je suis notamment une maitresse de Jules César et d\'Alexandre le grand. Qui suis-je ?',
'Le premier ministre anglais lors de la seconde guerre mondiale, iniateur du mouvement du V de la victoire, c\'est qui ?',
'Je suis l\'homme dont la naissance légendaire est le départ du calendrier chrétien, je suis malheureusement mort crucifié',
'Je suis le chef d\'expédition de la première croisade. Ma statue se trouve à Bruxelles et j\'ai un nom de famille de soupe.',
'Je suis un personnage fictif vivant en transylvannie. Je suis connu comme le plus célèbre des vampires.'
);

element_1.innerHTML = array[nb_aleatoire];
element_2.value = nb_aleatoire;
}
</
script>

<
body onload="javascript:devinette()">
<
form method="POST">
<
p id="question">-</p>
<
a href="#" onclick="javascript:devinette()">afficher une autre question</a><br />
<
input type="hidden" id="cache" name="hide" value="-" />
<
input type="text" name="reponse" /> <input type="submit" name="envoi" value="Correction !" />
</
form>
</
body>

pour le traitement en php tu récupère le champ 'hide' ($_POST['hide']) et tu fais une regex (au cas ou on ne rentrerait que le nom de famille ou le prénom, etc.) pour verifier la réponse.


RE: Anti bot assez efficace? - Cartman34 - 17-05-2008

Un bot légèrement évoué passera ta protection assez facilement à mon avis.
Déjà parce qu'il a 2 moyens.
Le premier: Tu ne protèges pas ton chamsp hide, un eptit cryptage serait bien utile.
Le deuxième: Utilisant un système en JS, le bot peut facilement le modifier ou deviner le choix alétoire.

Un système simple existe déjà: Des caractères alphanumériques sur une image à recopier dans un champs.
Je n'ai jamais étudié comment font les sites mais voici comment je ferais:
Au chargement de la page:
Coté PHP:
- générer la suite de caractères.

Coté HTML:
- Afficher l'image grace à une image faite par GD ou(si tu peux) sélectionnée parmis des milliers d'image enregistrées.
- Dans un champs cacher, enregistrer une version crypter de la suite de caractères.


RE: Anti bot assez efficace? - Kassak - 17-05-2008

IGstaff, je ne veux pas utiliser d'image crypté, même moi qui a une très bonne vue, il m'arrive de laisser tomber une inscription parceque j'arrive pas a lire les caractères..donc ceux qui ont un ptit problème de vue je n'en parle même pas.

J'aurais plus vu quelque chose de mathématiques, par exemple écrire en lettre la somme de 4 et 8...
Pour ce faire a chaque refresh je fais un random pour trouver 2 nombres, et si la somme des deux est egale a ce qu'a écrit le visiteur ça passe.
Mais je ne sais pas si c'est efficace ou pas.


Psykose, simpa ton système, mais le javascript est facilement modifiable, et surtout si le membre ne l'a pas activé il ne pourra pas s'inscrire


RE: Anti bot assez efficace? - Yoda54 - 17-05-2008

Citation :le chef d'expédition de la première croisade

La première croisade n'avait pas de chef, l'avoué du saint-Sépulcre ne fut que le plus fervent d'entre eux qui resta dans les contrés nouvellement conquises par les croisés et qui ne s'était pas encore approprié certaines de ce terres en chemin Smile

Désolé pour le HS


RE: Anti bot assez efficace? - Yoda54 - 17-05-2008

Kassak a écrit :IGstaff, je ne veux pas utiliser d'image crypté, même moi qui a une très bonne vue, il m'arrive de laisser tomber une inscription parceque j'arrive pas a lire les caractères..donc ceux qui ont un ptit problème de vue je n'en parle même pas.

J'aurais plus vu quelque chose de mathématiques, par exemple écrire en lettre la somme de 4 et 8...
Pour ce faire a chaque refresh je fais un random pour trouver 2 nombres, et si la somme des deux est egale a ce qu'a écrit le visiteur ça passe.
Mais je ne sais pas si c'est efficace ou pas.


Psykose, simpa ton système, mais le javascript est facilement modifiable, et surtout si le membre ne l'a pas activé il ne pourra pas s'inscrire

Pour le rendre efficace, il doit sans doute falloir passer par une "calculatrice" en flash avec un emplacement aléatoire des touches - à l'instar de ce qui se fait sur bon nombre de sites bancaires maintenant.


RE: Anti bot assez efficace? - Harparine - 17-05-2008

Psychose, faudrait vérifier tes questions avant de le mettre en ligne : Cléopâtre a "peut-être" été maîtresse de César mais surement pas d'Alexandre le Grand, qui a vécu 3 siècles avant ellle. Par contre, elle a été la maîtresse de Marc Antoine. Tongue

Pour le bot, je trouve aussi que le principe de questions simples est très bien...


RE: Anti bot assez efficace? - Psykose - 17-05-2008

c'est pas parce qu'il sait le numéro du hide qu'il trouve la réponse :roll: .
côté PHP ça donne ça :

Code PHP :
<?php
if(isset($_POST['envoi'])){
$valeur = $_POST['hide'];
$reponse = $_POST['reponse'];

switch (
$valeur){
case
0 :
if(
preg_match('#(napol(é|e)on|bonaparte)#isU', $reponse)){ $ok = "o"; }
break;

//etc.
}

if(isset(
$ok)){
//Continuer la procédure d'inscription.
}
else{
echo(
"Vous n'avez pas rentré la bonne réponse à la devinette...");
}
}
?>

@les objecteurs de conscience xD : vous inquiétez pas ce ne sont pas les questions que j'ai mises dans mon jeu xD


RE: Anti bot assez efficace? - Kassak - 17-05-2008

Une seule question avec le script Psykose suffit? Ou il vaut mieux en mettre plusieurs...?


RE: Anti bot assez efficace? - naholyr - 17-05-2008

Un captcha sur le formulaire d'inscription, je vois pas bien l'intérêt :/
Il vaut mieux mettre une vérification par l'adresse e-mail (les bots n'ont jamais une adresse e-mail valide, ou en tous cas ils ne la relèvent pas), c'est extrèmement efficace...

Là où il faut mettre des systèmes anti-bot c'est dans les systèmes de commentaire ne nécessitant pas d'identification (blog, wiki, forum). Le plus simple est alors de mettre un bon vieux captcha-image (ou une question à la noix, ça marche aussi, voir le forum de ubuntu-fr.org que je n'ai jamais vu spammé) qui n'est activé que si l'on n'est pas identifié.

Ma référence en matière de protection de spam, c'est vraiment ubuntu-fr.org : protection simplissime (voire simpliste) et ultra-efficace puisque jamais spammé alors qu'il est en tête de beaucoup de recherches google Wink