Captcha basique via une simple addition

Captcha basique via une simple addition. Code utilisant les sessions, code à intégrer dans un formulaire.

Que fait ce code ?

  1. Initialise 2 nombres aléatoirement qu'il place dans une session
  2. Vérifie a l'envoie si la somme est correcte

A savoir:

Ce n'est pas hyper sécure comme code, mais c'est la base. Pour sécuriser le code il faudrait passer les nombres en Image, ainsi les robots ne pourront pas faire l'addition.


Information sur les mises à jour

Dernière mise à jour :

19 Sept 2019
fonctionnement du code vérifié

16 235  vues
Compatibilité du code
PHP 5, PHP 7 et PHP 8
  code classé dans   Formulaires
  code source classé dans   Formulaires
 
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
                    
<?php
/*------------------------------*/
/*
Titre : Captcha basique via une simple addition

Auteur : amery
Date édition : 07 Aout 2007
Date mise a jour : 19 Sept 2019

Rapport de la maj:
- fonctionnement du code vérifié
*/
/*------------------------------*/?>
Code à  placer en début de page
<?php
session_start();
if(isset($_POST['captcha']) && $_POST['captcha']==$_SESSION['resultat'])
{
//on poste le formulaire
}
$nb1 = rand(1, 100);
$nb2 = rand(1, 5);
$somme = $nb1 + $nb2;
$_SESSION['resultat'] = $somme;
?>


Code à  placer dans le formulaire (méthode post),
entre les balises <form> et </form>

Combien font <?php echo $nb1; ?> + <?php echo $nb2; ?> ?
<input class="input" type="text" size="20" name="captcha" />
<?php
/*------------------------------*/
/*
Titre : Captcha basique via une simple addition

Auteur : amery
Date édition : 07 Aout 2007
Date mise a jour : 19 Sept 2019

Rapport de la maj:
- fonctionnement du code vérifié
*/
/*------------------------------*/?>
Code à  placer en début de page
<?php
session_start();
if(isset($_POST['captcha']) && $_POST['captcha']==$_SESSION['resultat'])
{
//on poste le formulaire
}
$nb1 = rand(1, 100);
$nb2 = rand(1, 5);
$somme = $nb1 + $nb2;
$_SESSION['resultat'] = $somme;
?>


Code à  placer dans le formulaire (méthode post),
entre les balises <form> et </form>

Combien font <?php echo $nb1; ?> + <?php echo $nb2; ?> ?
<input class="input" type="text" size="20" name="captcha" />

      Fonctions du code - Doc officielle PHP

   php.net  
Description
Versions PHP
    echo
Affiche une chaîne de caractères
PHP 4, 5, 7 et 8
    isset
Détermine si une variable est déclarée et est différente de null
PHP 4, 5, 7 et 8
    rand
Génère une valeur aléatoire
PHP 4, 5, 7 et 8
    session_start
Démarre une nouvelle session ou reprend une session existante
PHP 4, 5, 7 et 8

[5]

  • avatar

    Invité

    11 Nov 2009 à 12:40

    nan c'est interessant mais seulement en plus d'un captcha ...

  • avatar

    Invité

    31 Mai 2009 à 19:13

    Pas la peine de dire n'importe quel robot franchi cet obstacle, tu pourrais au moins fournir quelque chose que "n'importe quel robot" aurait du mal à franchir au lieu de dénigrer le travail d'une personne.

  • avatar

    Invité

    11 Mars 2009 à 04:36

    Désolé mais franchement inutile...
    N'importe quel robot franchit cet "obstacle" sans difficulté !
     

  • avatar

    Invité

    26 Fév 2009 à 17:44

    Euh... Je l'ai testé et les commentaires ne passent que lorsqu'on ne répond pas à la question, c'est normal ?

  • avatar

    Invité

    25 Déc 2008 à 20:16

    dans quelle page se mets ceci ? (dans la page du formulaire avant le formulaire, dedans ...?) :


    Merci d'avance.
    Pascal

Minimum 10 mots. Votre commentaire sera visible après validation.


 Autres snippets qui pourraient vous intéresser

Captcha PHP / JS basique via une simple addition

Compatibilité : PHP 5, PHP 7, PHP 8

Captcha similaire a Captcha basique via une simple addition, mais en y ajoutant un contrôle en JS.

Addition de mois à une date

Compatibilité : PHP 5, PHP 7, PHP 8

Explication du code : Permet l'ajout de mois par rapport à une date donnée. Code compatible php7

* Requêtes exécutées avec Recherche Contextuelle

  Les derniers scripts

PHP 8.5.5

logo PHP
Langue langue us
Date 12 Avril
Taille 32 Mo
Catégorie PHP

PHP 8.4.20

logo PHP
Langue langue us
Date 12 Avril
Taille 30 Mo
Catégorie PHP

Serendipity 2.6.0

logo Serendipity
Langue langue fr
Date 11 Avril
Taille 15 Mo
Catégorie Blogs

Drupal 11.3.6

logo Drupal
Langue langue us
Date 11 Avril
Taille 34 Mo
Catégorie CMS

TYPO3 14.2.0

logo TYPO3
Langue langue fr
Date 10 Avril
Taille 38 Mo
Catégorie CMS

Dolibarr ERP 23.0.1

logo Dolibarr ERP
Langue langue fr
Date 09 Avril
Taille 89 Mo
Catégorie Logiciels
avatar

Amery

  07 Août 2007

  SOURCE   Télécharger

Information sur les mises à jour

Dernière mise à jour :

19 Sept 2019
fonctionnement du code vérifié

16 235 Vues
Compatibilité du code
PHP 5, PHP 7, PHP 8