Forums Webou.net - Hébergement gratuit et sans publicités avec PHP/MySQL Webou Webou Pro
Recherche avancée  
*
Bienvenue, Invité. Veuillez vous connecter ou vous inscrire.
Avez-vous perdu votre courriel d'activation?
23 Novembre 2017, 17:30:14


Connexion avec identifiant, mot de passe et durée de la session


Pages: [1] 2   Bas de page
  Imprimer  
Auteur Fil de discussion: Captcha  (Lu 6218 fois)
0 Membres et 1 Invité sur ce fil de discussion.
Rainbow
Invité
« le: 06 Novembre 2008, 13:16:37 »

Bonjour j'ai essayer d'installer le système captcha de K@cem situé à l'adresse suivante http://www.kacem.bouhmadi.fr/codes-4-8.html cependant je n'arrive pas à l'installer sur mon formulaire et je voudrais savoir comment faire?.
De plus je sais que ca permet de sécuriser les formulaire mais dans qu'elle but "à par les bot"?
Merci d'avance pour vos réponses.
Journalisée
Forums Webou.net - Hébergement gratuit et sans publicités avec PHP/MySQL
« le: 06 Novembre 2008, 13:16:37 »

 Journalisée
chrmag
Bavard
***
Hors ligne Hors ligne

Messages: 131


Voir le profil WWW
« Répondre #1 le: 06 Novembre 2008, 17:50:44 »

Code:
<?php
session_start
();
if (isset(
$_SESSION['captcha']) && $_SESSION['captcha'] == $_POST['captcha']) {
  
// traitement du reste du formulaire
} else {
  
// erreur, captcha invalide
}

Pour reponde a ta question, ca sert juste pour les bots, il n'y a pas vraiment d'autre but Clin d'oeil
Journalisée
K@cem
Never trust user input
Big boss
*****
Hors ligne Hors ligne

Messages: 2 724



Voir le profil WWW
« Répondre #2 le: 06 Novembre 2008, 20:59:51 »

Code:
<?php
session_start
();
if (isset(
$_SESSION['captcha'], $_POST['captcha']) && $_SESSION['captcha'] == $_POST['captcha']) {
  
// traitement du reste du formulaire
} else {
  
// erreur, captcha invalide
}
Il faut aussi tester l'existence de la variable $_POST Clin d'oeil
Journalisée

Le support ne se fait pas par MP, merci de le respecter !
clemgaut
Bavard
***
Hors ligne Hors ligne

Messages: 141


Voir le profil WWW
« Répondre #3 le: 06 Novembre 2008, 21:14:22 »

Tu peux aussi vérifier si la variable n'est pas vide :
Code:
<?php
session_start
();
if (isset(
$_SESSION['captcha'], $_POST['captcha']) && !empty($_POST['captcha']) && $_SESSION['captcha'] == $_POST['captcha']) {
  
// traitement du reste du formulaire
} else {
  
// erreur, captcha invalide
}
Journalisée

1 c'est bien, 2 c'est mieux Sourire
Site sur la TI-82
K@cem
Never trust user input
Big boss
*****
Hors ligne Hors ligne

Messages: 2 724



Voir le profil WWW
« Répondre #4 le: 06 Novembre 2008, 21:57:42 »

Dans ce cas là ce n'est pas utile puisqu'on va le faire indirectement en testant sa valeur avec la session Clin d'oeil
Sinon tu peux le faire mais il faut virer le isset car c'est inclus dans empty ...
Journalisée

Le support ne se fait pas par MP, merci de le respecter !
Forums Webou.net - Hébergement gratuit et sans publicités avec PHP/MySQL
« Répondre #4 le: 06 Novembre 2008, 21:57:42 »

 Journalisée
Rainbow
Invité
« Répondre #5 le: 07 Novembre 2008, 20:29:30 »

Bonjours tous d'abord je vous remercie de vos nombreuses réponse. Cependant tous mes formulaires sont inclu tous comme l'enssemble de mon site. Que faire?
Journalisée
K@cem
Never trust user input
Big boss
*****
Hors ligne Hors ligne

Messages: 2 724



Voir le profil WWW
« Répondre #6 le: 07 Novembre 2008, 20:33:34 »

Bonjours tous d'abord je vous remercie de vos nombreuses réponse. Cependant tous mes formulaires sont inclu tous comme l'enssemble de mon site. Que faire?
Inclus dans quoi ?
Journalisée

Le support ne se fait pas par MP, merci de le respecter !
Rainbow
Invité
« Répondre #7 le: 07 Novembre 2008, 23:04:34 »

En gros imaginons que j'ai une page index une page decouverte et un page commentaire.
J'ai la page decouverte inclus dans la page index quand j'appuie sur le lien suivants ==> index.php?page=decouverte  et j'ai le formulaire de commentaire inclue dans la page decouverte.
Journalisée
clemgaut
Bavard
***
Hors ligne Hors ligne

Messages: 141


Voir le profil WWW
« Répondre #8 le: 08 Novembre 2008, 11:16:23 »

Tu mets le code qu'on t'as mis dans la page commentaire.
Si jai bien compris tu as dans ta page decouverte un
include("commentaire.php");
C'est donc sur cette page que tu dois mettre le code car comme elle est inclue, c'est à elle qu'on fais appelle.
Journalisée

1 c'est bien, 2 c'est mieux Sourire
Site sur la TI-82
Rainbow
Invité
« Répondre #9 le: 08 Novembre 2008, 12:01:00 »

je suis ok pour dire que le code suivant doit être placé avant mon formulaire:

Code:
<?php
function captcha()
{
        
$nbrTolettre = array(1=>'un''deux''trois''quatre''cinq''six''sept''huit''neuf');

        
$nbreAleatoire1 rand(19);
        
$nbreAleatoire2 rand(19);

        
$_SESSION['captcha'] = $nbreAleatoire1 $nbreAleatoire2;
        return 
'Combien font <strong>'.$nbrTolettre[$nbreAleatoire1].'</strong> 
                        <em>plus</em> <strong>'
.$nbrTolettre[$nbreAleatoire2].'</strong> ? ';
}
?>

celui-la dans mon formulaire:

Code:
<?php
echo captcha();
?>

<input type="text" name="captcha" />

Cependant je ne comprend pas ce petit morceau de ligne:

Il faut bien sûr avoir mis "session_start()" au début du fichier
Après quand le formulaire est validée il suffit de comparer $_POST['captcha'] avec $_SESSION['captcha']


Journalisée
K@cem
Never trust user input
Big boss
*****
Hors ligne Hors ligne

Messages: 2 724



Voir le profil WWW
« Répondre #10 le: 08 Novembre 2008, 13:59:34 »

Salut,
Au début de ton fichier index.php (avant tout autre chose !) mets ce code :
Code:
<?php
session_start
();
?>
A+
Journalisée

Le support ne se fait pas par MP, merci de le respecter !
Rainbow
Invité
« Répondre #11 le: 09 Novembre 2008, 20:02:49 »

je mes session_close a la fin?
Journalisée
K@cem
Never trust user input
Big boss
*****
Hors ligne Hors ligne

Messages: 2 724



Voir le profil WWW
« Répondre #12 le: 09 Novembre 2008, 20:48:02 »

je mes session_close a la fin?
Non ce n'est obligatoire Clin d'oeil
Journalisée

Le support ne se fait pas par MP, merci de le respecter !
Rainbow
Invité
« Répondre #13 le: 09 Novembre 2008, 22:30:00 »

je tente mais ca ne marche pas sa m'affiche:

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\wamp\www\rainbow\index.php:Cool in C:\wamp\www\rainbow\index.php on line 9
en local.
Journalisée
K@cem
Never trust user input
Big boss
*****
Hors ligne Hors ligne

Messages: 2 724



Voir le profil WWW
« Répondre #14 le: 10 Novembre 2008, 14:03:41 »

Il faut mettre le session_start() avant tout code html Clin d'oeil
Journalisée

Le support ne se fait pas par MP, merci de le respecter !
Pages: [1] 2   Haut de page
  Imprimer  
 
Aller à:  

Propulsé par MySQL Propulsé par PHP Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Dilber MC Theme by HarzeM
Page générée en 0.027 secondes avec 21 requêtes.