Checkbox Je ne suis pas un Robots

Statut
N'est pas ouverte pour d'autres réponses.
Inscription
24 Juillet 2015
Messages
180
Réactions
60
Points
1 496
RGCoins
0
salut voilà je donne la source de mon checkbox qui était dans un DD depuis 2009 que j'ai oublier depuis biens longtemps

On va commencé a créer un fichier exemple : CheckRobots.php
on va rajouté le code suivant dans le fichier

PHP:
<?php
/* la function php qui va créer un string de 31 lettres */
function code($nb_car, $chaine = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ123456789'){
$nb_lettres = strlen($chaine) - 1;
$generation = '';
for($i=0; $i < $nb_car; $i++)
{
$pos = mt_rand(0, $nb_lettres);
$car = $chaine[$pos];
$generation .= $car;
}
return $generation;
}
/* on stock le string dans une $_session */
$_SESSION['confirmation'] = code(31);
?>


dans notre page ou il y a le formulaire exemple Connexion, inscription on va rajouté le code suivant au tout début du fichier

PHP:
<?php
session_start();
/* mettre le chemin du fichier que on a créer plus haut dans le petit tuto*/
include 'CheckRobots.php';
?>

puis on rajoute notre checkbox dans notre formulaire

PHP:
<label><input type="checkbox" name="<?php echo $_SESSION['confirmation'];?>"><i></i> I'm not a Robot !</label>

pour finir nous allons rajouté dans l'action du formulaire se qui va vérifier si c'est bien un humain ou un robots

PHP:
<?php
session_start();
if(isset($_POST[$_SESSION['confirmation']])){
/* Votre code ICI */
}
?>

Juste impossible a bypass donc plus de noob qui va spam avec un logiciel codez obligé de le faire a la main​
 
l'intérée c'est que le robot ne puisse pas pouvoir le lire ^^', c'est pour sa que d'habitude, il y a des image un peu déformée, c'est surtout intérésent pour un systéme d'anti crfs sa :D, merci du partage :ok:
 
Euh.. C'est bypassable facilement...
 
l'intérée c'est que le robot ne puisse pas pouvoir le lire ^^', c'est pour sa que d'habitude, il y a des image un peu déformée, c'est surtout intérésent pour un systéme d'anti crfs sa :D, merci du partage :ok:

tu peut pas le bypass avec un robots tu peut testé !
 
PHP:
<?php
// J'initialise les variables
$session_file = rand(100000,999999).'.txt';

// 1) Je récupére la page get pour récupérée le token
$c1 = curl_init();
curl_setopt($c1, CURLOPT_URL, "http://goeihgoez.zz.mu/");
curl_setopt($c1, CURLOPT_RETURNTRANSFER, true);
curl_setopt($c1, CURLOPT_COOKIEJAR, $session_file);
curl_setopt($c1, CURLOPT_COOKIEFILE, $session_file);
$get_page = curl_exec($c1);
curl_close($c1);

// 2) J'extrait le token de la page
$token = "";

$document = new DOMDocument();
libxml_use_internal_errors(true);
$document->loadHTML($get_page);
libxml_clear_errors();

$inputs = $document->getElementsByTagName("input");

foreach ($inputs as $input) {
  if ($input->getAttribute("type") == "checkbox") {
    $token = $input->getAttribute("name");
  }
}

echo $token;

// 3) Je renvoi un POST
$fields_string = "";
$fields = array(
    'action' => 'teste',
    'texte' => 'bot',
    'texte2' => 'bot',
    $token => '1'
);

foreach($fields as $key=>$value) { $fields_string .= $key.'='.$value.'&'; }
rtrim($fields_string, '&');

$c2 = curl_init();
curl_setopt($c2, CURLOPT_URL, "http://goeihgoez.zz.mu/");
//curl_setopt($c2, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($c2, CURLOPT_RETURNTRANSFER, true);
curl_setopt($c2, CURLOPT_COOKIEJAR, $session_file);
curl_setopt($c2, CURLOPT_COOKIEFILE, $session_file);
curl_setopt($c2, CURLOPT_POST, count($fields));
curl_setopt($c2, CURLOPT_POSTFIELDS, $fields_string);

$final = curl_exec($c2);
curl_close($c2);

unlink($session_file);

echo $final;
?>

Cadeau xD
Ont à parlée, ont va modifiée un petit truc
 
Tu as oublié pleins d'options de cURL :

cURL est capable de gérer une session, ton script se base sur la session.. donc ...

Puis j'vois pas le rapport avec le chargement d'un XML ?

Sauf si t'as des champs aux noms dynamiques (ce qui n'est, a priori, pas le cas), suffit de reprendre ces champs. Pas besoin de s'emmerder avec du Dom.
 
Tu as oublié pleins d'options de cURL :

cURL est capable de gérer une session, ton script se base sur la session.. donc ...

Puis j'vois pas le rapport avec le chargement d'un XML ?

Sauf si t'as des champs aux noms dynamiques (ce qui n'est, a priori, pas le cas), suffit de reprendre ces champs. Pas besoin de s'emmerder avec du Dom.

Ta l'air de pas avoir beaucoup regardée ou touchée PHP xD curl ne gére pas une session à la fermeture, j'ai codée un bot de test pas un programme qui va faire décollée une fusée pas besoin d'optimisée xD, ya un champs dynamique, la le php n'est pas à jour, il est en train d'améliorée le systéme
 
Tu as oublié pleins d'options de cURL :

cURL est capable de gérer une session, ton script se base sur la session.. donc ...

Puis j'vois pas le rapport avec le chargement d'un XML ?

Sauf si t'as des champs aux noms dynamiques (ce qui n'est, a priori, pas le cas), suffit de reprendre ces champs. Pas besoin de s'emmerder avec du Dom.

Regarde bien les champs son bien dynamique et non fix !
 
Regarde bien les champs son bien dynamique et non fix !

Dans ton tout premier script, il n'y a même pas de champ. Quand j'ai dis "c'est bypassable", c'est ton tout premier script.

Je sais même pas trop ce que t'as bidouillé ensuite, j'ai pas vraiment regardé...

Ton champ est pas vraiment dynamique puisque stocké en session...
 
Dans ton tout premier script, il n'y a même pas de champ. Quand j'ai dis "c'est bypassable", c'est ton tout premier script.

Je sais même pas trop ce que t'as bidouillé ensuite, j'ai pas vraiment regardé...

Ton champ est pas vraiment dynamique puisque stocké en session...


ok mais tu pourra pas le bypass avec un symple, new webclient().uploadstring en c#
 
tu peut pas le bypass avec un robots tu peut testé !

C'est très facilement bypassable... suffit d'adapter le bot que la personne utilise. Google fait la même chose, sauf que le captcha prend en compte la vitesse d'écriture, déplacement de la souris... donc c'est beaucoup plus sur d'utiliser le nouveau reCaptcha de Google :)
 
C'est très facilement bypassable... suffit d'adapter le bot que la personne utilise. Google fait la même chose, sauf que le captcha prend en compte la vitesse d'écriture, déplacement de la souris... donc c'est beaucoup plus sur d'utiliser le nouveau reCaptcha de Google :)

go le bypass
 
go le bypass
Bah déjà ton système a l'air de bien marcher dit moi
b0fe5851d112aba4d0a992feec779c93.gif
 
Statut
N'est pas ouverte pour d'autres réponses.
Retour
Haut