reCaptcha cgi recuperer les arguments pour validation code captcha
Le
swilting
#!/usr/bin/perl -w
use diagnostics;
use strict;
use CGI qw(:standard escapeHTML);
use CGI::Carp qw(fatalsToBrowser);
use Net::SMTP;
##use FileHandle;
use Captcha::reCAPTCHA;
use CGI::Safe;
use CGI::Simple;
use constant PUBLIC_KEY => '6Le***************1rq03wAyR';
use constant PRIVATE_KEY => '6LeEMA*******************jrLjM2dpN ';
$|++;
my $c;
my $cgi;
my $key;
my $q;
my %etats;
my $ecran_actuel;
my @options;
my $error = undef;
##my $errortest;
##my $resulttest;
$cgi = new CGI;
$c = Captcha::reCAPTCHA->new;
$q = CGI::Simple->new;
%etats = (
'defaut' =>\&saisie_commande,
'validation_code' =>\&validation_code,
'annulation' =>\&annulation,
);
$ecran_actuel = param(".Etat") || "defaut";
die "Pas d'ecran pour $ecran_actuel" unless $etats{$ecran_actuel};
## engendre le document courant
en_tete_standard();
while ( my ($nom_ecran,$fonction) = each %etats){
$fonction->($nom_ecran eq $ecran_actuel);
}
pied_de_page_standard();
########################################################################
## fonctions d en tete , de pied de page ,de menu ################
########################################################################
sub en_tete_standard {
print header(),
start_html(-Title => "commande" , -BGCOLOR=>"White");
print start_form();
}
sub menu_boutique {
my(@options) = @_;
print p(vers_doc($options[0]),
vers_doc($options[1]));
}
print $c->get_html(PUBLIC_KEY);
my $result = $c->check_answer(
PRIVATE_KEY,$ENV{'REMOTE_ADDR'},my $challenge,my $response);
if ( $result->{is_valid} ) {
print "ok";validation_code();
}
else {
my $error = $result->{error};annulation();
}
menu_boutique(@options);
}
sub validation_code {
my($actif) = @_;
return unless $actif;
my $nom = param ('nom');
my $adresse = param ('adresse');
my $ville = param ('ville');
my $code_postal = param ('code_postal');
my $pays = param ('pays');
my $mail = param ('mail');
my @gadgets = qw(nom adresse ville code_postal pays mail);
unless ( $actif ) {
print map { hidden($_) } @gadgets;
return;
}
print p("code verifier");
}
sub annulation {
my($actif) = @_;
return unless $actif;
print p ("vous etes une mauvaise personne ou un robot spammeur :");
}
sub menu_boutique {
my(@options) = @_;
print p(vers_doc($options[0]),
vers_doc($options[1]));
}
je n arrive pas à recuperer les parametres du code recaptcha
le script fonctionne le plugin recaptcha est bien afficher
mais quand je clicke sur validation_code
j ai cette sortie
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xht...">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US" xml:lang="en-US">
<head>
<title>commande</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>
<body bgcolor="White">
<form method="post" action="/cgi-bin/vente.cgi"
enctype="multipart/form-data">
</form>
</body>
</html>
meme pas le print p("");
je suis un peu troubler car je ne comprends pas
question serveur je viens de commander un rps chez ovh avec un centos
et j aurais les depots remi actif
et un yum -v install perl*
et le plugin captcha
use diagnostics;
use strict;
use CGI qw(:standard escapeHTML);
use CGI::Carp qw(fatalsToBrowser);
use Net::SMTP;
##use FileHandle;
use Captcha::reCAPTCHA;
use CGI::Safe;
use CGI::Simple;
use constant PUBLIC_KEY => '6Le***************1rq03wAyR';
use constant PRIVATE_KEY => '6LeEMA*******************jrLjM2dpN ';
$|++;
my $c;
my $cgi;
my $key;
my $q;
my %etats;
my $ecran_actuel;
my @options;
my $error = undef;
##my $errortest;
##my $resulttest;
$cgi = new CGI;
$c = Captcha::reCAPTCHA->new;
$q = CGI::Simple->new;
%etats = (
'defaut' =>\&saisie_commande,
'validation_code' =>\&validation_code,
'annulation' =>\&annulation,
);
$ecran_actuel = param(".Etat") || "defaut";
die "Pas d'ecran pour $ecran_actuel" unless $etats{$ecran_actuel};
## engendre le document courant
en_tete_standard();
while ( my ($nom_ecran,$fonction) = each %etats){
$fonction->($nom_ecran eq $ecran_actuel);
}
pied_de_page_standard();
########################################################################
## fonctions d en tete , de pied de page ,de menu ################
########################################################################
sub en_tete_standard {
print header(),
start_html(-Title => "commande" , -BGCOLOR=>"White");
print start_form();
}
sub menu_boutique {
my(@options) = @_;
print p(vers_doc($options[0]),
vers_doc($options[1]));
}
print $c->get_html(PUBLIC_KEY);
my $result = $c->check_answer(
PRIVATE_KEY,$ENV{'REMOTE_ADDR'},my $challenge,my $response);
if ( $result->{is_valid} ) {
print "ok";validation_code();
}
else {
my $error = $result->{error};annulation();
}
menu_boutique(@options);
}
sub validation_code {
my($actif) = @_;
return unless $actif;
my $nom = param ('nom');
my $adresse = param ('adresse');
my $ville = param ('ville');
my $code_postal = param ('code_postal');
my $pays = param ('pays');
my $mail = param ('mail');
my @gadgets = qw(nom adresse ville code_postal pays mail);
unless ( $actif ) {
print map { hidden($_) } @gadgets;
return;
}
print p("code verifier");
}
sub annulation {
my($actif) = @_;
return unless $actif;
print p ("vous etes une mauvaise personne ou un robot spammeur :");
}
sub menu_boutique {
my(@options) = @_;
print p(vers_doc($options[0]),
vers_doc($options[1]));
}
je n arrive pas à recuperer les parametres du code recaptcha
le script fonctionne le plugin recaptcha est bien afficher
mais quand je clicke sur validation_code
j ai cette sortie
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xht...">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US" xml:lang="en-US">
<head>
<title>commande</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>
<body bgcolor="White">
<form method="post" action="/cgi-bin/vente.cgi"
enctype="multipart/form-data">
</form>
</body>
</html>
meme pas le print p("");
je suis un peu troubler car je ne comprends pas
question serveur je viens de commander un rps chez ovh avec un centos
et j aurais les depots remi actif
et un yum -v install perl*
et le plugin captcha

Poser une question


ya pas un endroit ou ils disent comment l utiliser
ai fait des tres jolis eval { captcha } cet aprem
ça y est j ai l acces chez ovh centos 5.1
http://www.renelacroute.fr
<br />
<blockquote class="block0"><br />
swilting wrote:<br />
<br />
<blockquote class="block1"><br />
#!/usr/bin/perl -w<br />
use diagnostics;<br />
use strict;<br />
use CGI qw(:standard escapeHTML);<br />
use CGI::Carp qw(fatalsToBrowser);<br />
use Net::SMTP;<br />
##use FileHandle;<br />
use Captcha::reCAPTCHA;<br />
use CGI::Safe;<br />
use CGI::Simple;<br />
use constant PUBLIC_KEY => '6Le***************1rq03wAyR';<br />
use constant PRIVATE_KEY => '6LeEMA*******************jrLjM2dpN ';<br />
<br />
$|++;<br />
my $c;<br />
my $cgi;<br />
my $key;<br />
my $q;<br />
my %etats;<br />
my $ecran_actuel;<br />
my @options;<br />
my $error = undef;<br />
##my $errortest;<br />
##my $resulttest;<br />
<br />
$cgi = new CGI;<br />
$c = Captcha::reCAPTCHA->new;<br />
$q = CGI::Simple->new;<br />
%etats = (<br />
'defaut' =>&saisie_commande,<br />
'validation_code' =>&validation_code,<br />
'annulation' =>&annulation,<br />
);<br />
$ecran_actuel = param(".Etat") || "defaut";<br />
die "Pas d'ecran pour $ecran_actuel" unless $etats{$ecran_actuel};<br />
<br />
<br />
## engendre le document courant<br />
en_tete_standard();<br />
while ( my ($nom_ecran,$fonction) = each %etats){<br />
$fonction->($nom_ecran eq $ecran_actuel);<br />
}<br />
<br />
pied_de_page_standard();<br />
<br />
########################################################################<br />
## fonctions d en tete , de pied de page ,de menu ################<br />
########################################################################<br />
<br />
sub en_tete_standard {<br />
print header(),<br />
start_html(-Title => "commande" , -BGCOLOR=>"White");<br />
print start_form();<br />
}<br />
sub menu_boutique {<br />
my(@options) = @_;<br />
print p(vers_doc($options[0]),<br />
vers_doc($options[1]));<br />
<br />
}<br />
<br />
<br />
..................<br />
eval {<br />
</blockquote><br />
<blockquote class="block1"><br />
########################################eval { my $eval = fonc();}<br />
plugin captcha<br />
print $c->get_html(PUBLIC_KEY);##je sais pas on pourait faire<br />
une<br />
fonction qui prends comme argument fonction(@donnees,$eval)<br />
</blockquote><br />
<blockquote class="block1"><br />
my $result = $c->check_answer(<br />
PRIVATE_KEY,$ENV{'REMOTE_ADDR'},my $challenge,my $response);<br />
if ( $result->{is_valid} ) {<br />
print "ok";validation_code();<br />
}<br />
else {<br />
my $error = $result->{error};annulation();<br />
}<br />
menu_boutique(@options);<br />
}<br />
<br />
}<br />
</blockquote><br />
<blockquote class="block1"><br />
sub validation_code {<br />
my($actif) = @_;<br />
return unless $actif;<br />
my $nom = param ('nom');<br />
my $adresse = param ('adresse');<br />
my $ville = param ('ville');<br />
my $code_postal = param ('code_postal');<br />
my $pays = param ('pays');<br />
my $mail = param ('mail');<br />
my @gadgets = qw(nom adresse ville code_postal pays mail);<br />
unless ( $actif ) {<br />
print map { hidden($_) } @gadgets;<br />
return;<br />
}<br />
print p("code verifier");<br />
<br />
}<br />
<br />
sub annulation {<br />
my($actif) = @_;<br />
return unless $actif;<br />
print p ("vous etes une mauvaise personne ou un robot spammeur :");<br />
<br />
}<br />
sub menu_boutique {<br />
my(@options) = @_;<br />
print p(vers_doc($options[0]),<br />
vers_doc($options[1]));<br />
<br />
<br />
<br />
</blockquote><br />
ya pas un endroit ou ils disent comment l utiliser<br />
<br />
ai fait des tres jolis eval { captcha } cet aprem<br />
<br />
ça y est j ai l acces chez ovh centos 5.1<br />
http://www.renelacroute.fr<br />
<br />
<blockquote class="block1"><br />
je n arrive pas à recuperer les parametres du code recaptcha<br />
le script fonctionne le plugin recaptcha est bien afficher<br />
<br />
<br />
mais quand je clicke sur validation_code<br />
j ai cette sortie<br />
<br />
<!DOCTYPE html<br />
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"<br />
"http://www.w3.org/TR/xhtml1/DTD/xht...;gt;<br />
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US" xml:lang="en-US"><br />
<head><br />
<title>commande</title><br />
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"<br />
/> </head><br />
<body bgcolor="White"><br />
<form method="post" action="/cgi-bin/vente.cgi"<br />
enctype="multipart/form-data"><br />
</form><br />
</body><br />
</html><br />
<br />
meme pas le print p("");<br />
<br />
je suis un peu troubler car je ne comprends pas<br />
<br />
question serveur je viens de commander un rps chez ovh avec un centos<br />
<br />
et j aurais les depots remi actif<br />
et un yum -v install perl*<br />
<br />
et le plugin captcha<br />
ne me reponde pas je vais trouver tout seul<br />
</blockquote><br />
</blockquote><br />
<br />
epel remi<br />
j ai installe un LAMP stable sur mon ns******.ovh.net<br />
aujourdhui<br />
<br />
<br />
use diagnostics;<br />
use strict;<br />
use CGI qw(:standard escapeHTML);<br />
use CGI::Carp qw(fatalsToBrowser);<br />
use Net::SMTP;<br />
##use FileHandle;<br />
use Captcha::reCAPTCHA;<br />
use CGI::Safe;<br />
use CGI::Simple;<br />
use constant PUBLIC_KEY => '6LeEMAIAAAAAAL1w3ZJ5QQw9O_REAx81rq03wAyR';<br />
use constant PRIVATE_KEY => '6LeEMAIAAAAAAH3xcSzErhpevcxFl6ajrLjM2dpN ';<br />
<br />
$|++;<br />
my $c;<br />
my $cgi;<br />
my $key;<br />
my $q;<br />
my %etats;<br />
my $ecran_actuel;<br />
my @options;<br />
my @verifications;<br />
my $captcha;<br />
my $error = undef;<br />
##my $errortest;<br />
##my $resulttest;<br />
<br />
$cgi = new CGI;<br />
$c = Captcha::reCAPTCHA->new;<br />
$q = CGI::Simple->new;<br />
%etats = (<br />
'annulation' =>&annulation,<br />
'defaut' =>&saisie_commande,<br />
'validation' =>&validation,<br />
'mail_envoye' => &mail_envoye,<br />
);<br />
$ecran_actuel = param(".Etat") || 'defaut';<br />
die "Pas d'ecran pour $ecran_actuel" unless $etats{$ecran_actuel};<br />
<br />
<br />
## engendre le document courant<br />
en_tete_standard();<br />
while ( my ($nom_ecran,$fonction) = each %etats){<br />
$fonction->($nom_ecran eq $ecran_actuel);<br />
}<br />
<br />
pied_de_page_standard();<br />
<br />
########################################################################<br />
## fonctions d en tete , de pied de page ,de menu ################<br />
########################################################################<br />
<br />
sub en_tete_standard {<br />
print header(),<br />
start_html(-Title => "commande" , -BGCOLOR=>"White");<br />
print start_form();<br />
}<br />
sub menu_boutique {<br />
my(@options) = @_;<br />
print p(vers_doc($options[0]),vers_doc($options[1]));<br />
}<br />
<br />
<br />
<br />
sub saisie_commande {<br />
my($actif) = @_;<br />
return unless $actif;<br />
$ecran_actuel = param("saisie_commande");<br />
print p("Tous les champs sont obligatoires");<br />
print p("un code de securite vous seras demandé dans la prochaine<br />
page");<br />
print pre ( p ("Nom: ",textfield("nom")),<br />
p ("Adresse: ",textfield("adresse")),<br />
p ("Ville: ",textfield("ville")),<br />
p ("Code Postal: ",textfield("code_postal")),<br />
p ("Pays: ",textfield("pays")),<br />
p ("e-mail: ",textfield("mail")));<br />
print p("commentaires");<br />
print textarea('commentaire','','10','50');<br />
print p("upload de fichier");<br />
print filefield('upload','',50,80);<br />
print p ( "Selectionner validation_code pour continuern",<br />
"autrement selectionner Annulationn");<br />
<br />
$options[0] = "annulation";<br />
$options[1] = "validation";<br />
<br />
menu_boutique(@options);<br />
}<br />
sub validation {<br />
my($actif) = @_;<br />
return unless $actif;<br />
$ecran_actuel = param("validation");<br />
my $nom = param ('nom');<br />
my $adresse = param ('adresse');<br />
my $ville = param ('ville');<br />
my $code_postal = param ('code_postal');<br />
my $pays = param ('pays');<br />
my $mail = param ('mail');<br />
my @gadgets = qw(nom adresse ville code_postal pays mail);<br />
unless ( $actif ) {<br />
print map { hidden($_) } @gadgets;<br />
return;<br />
}<br />
eval { captcha() };<br />
if ( $@ ) { die "vous etes un robot spammeur ou une mauvaise personne :<br />
$@" }<br />
sub captcha { print $c->get_html(PUBLIC_KEY);<br />
my $result = $c->check_answer(<br />
PRIVATE_KEY,$ENV{'REMOTE_ADDR'},my $challenge,my $response); if (<br />
$result->{is_valid} ) { print "ok";mail_envoye();}else {my $error $result->{error};warn;}print submit;}<br />
<br />
}<br />
<br />
sub mail_envoye {<br />
my($actif) = @_;<br />
return unless $actif;<br />
print p("nnnnnnnnnnn");<br />
}<br />
<br />
## mail($numero_commande,$nom,$adresse,$ville,$code_postal<br />
$pays,###$telephone,$mail,$image);<br />
## cpandrename($image);<br />
<br />
sub annulation {<br />
my($actif) = @_;<br />
return unless $actif;<br />
print p ("vous etes une mauvaise personne ou un robot spammeur :");<br />
<br />
}<br />
<br />
sub pied_de_page_standard{ print end_form(),end_html() }<br />
<br />
<br />
<br />
<br />
sub vers_doc { submit (-NAME => ".Etat", -VALUE => shift) }<br />
<br />
<br />
<blockquote class="block0"><br />
<blockquote class="block1"><br />
<blockquote class="block0"><br />
et le plugin captcha<br />
ne me reponde pas je vais trouver tout seul<br />
</blockquote><br />
</blockquote><br />
<br />
epel remi<br />
j ai installe un LAMP stable sur mon ns******.ovh.net<br />
aujourdhui<br />
<br />
</blockquote><br />
<br />
<br />
bon j ai fait une conneries<br />
effacer le thread precedent il contient mes cles capcha<br />
je me suis fache tout seul<br />
<blockquote class="block0"><br />
#!/usr/bin/perl -w<br />
use diagnostics;<br />
use strict;<br />
use CGI qw(:standard escapeHTML);<br />
use CGI::Carp qw(fatalsToBrowser);<br />
use Net::SMTP;<br />
##use FileHandle;<br />
use Captcha::reCAPTCHA;<br />
use CGI::Safe;<br />
use CGI::Simple;<br />
use constant PUBLIC_KEY => '6LeEMAIAAAAQQw9O_REAx81rq03wAyR';<br />
use constant PRIVATE_KEY => '6LeEMAIAAAAAAH3xcSzajrLjM2dpN ';<br />
<br />
$|++;<br />
my $c;<br />
my $cgi;<br />
my $key;<br />
my $q;<br />
my %etats;<br />
my $ecran_actuel;<br />
my @options;<br />
my @verifications;<br />
my $captcha;<br />
my $error = undef;<br />
##my $errortest;<br />
##my $resulttest;<br />
<br />
$cgi = new CGI;<br />
$c = Captcha::reCAPTCHA->new;<br />
$q = CGI::Simple->new;<br />
%etats = (<br />
'annulation' =>&annulation,<br />
'defaut' =>&saisie_commande,<br />
'validation' =>&validation,<br />
'mail_envoye' => &mail_envoye,<br />
);<br />
$ecran_actuel = param(".Etat") || 'defaut';<br />
die "Pas d'ecran pour $ecran_actuel" unless $etats{$ecran_actuel};<br />
<br />
<br />
## engendre le document courant<br />
en_tete_standard();<br />
while ( my ($nom_ecran,$fonction) = each %etats){<br />
$fonction->($nom_ecran eq $ecran_actuel);<br />
}<br />
<br />
pied_de_page_standard();<br />
<br />
########################################################################<br />
## fonctions d en tete , de pied de page ,de menu ################<br />
########################################################################<br />
<br />
sub en_tete_standard {<br />
print header(),<br />
start_html(-Title => "commande" , -BGCOLOR=>"White");<br />
print start_form();<br />
}<br />
sub menu_boutique {<br />
my(@options) = @_;<br />
print p(vers_doc($options[0]),vers_doc($options[1]));<br />
}<br />
<br />
<br />
<br />
sub saisie_commande {<br />
my($actif) = @_;<br />
return unless $actif;<br />
$ecran_actuel = param("saisie_commande");<br />
print p("Tous les champs sont obligatoires");<br />
print p("un code de securite vous seras demandé dans la prochaine<br />
page");<br />
print pre ( p ("Nom: ",textfield("nom")),<br />
p ("Adresse: ",textfield("adresse")),<br />
p ("Ville: ",textfield("ville")),<br />
p ("Code Postal: ",textfield("code_postal")),<br />
p ("Pays: ",textfield("pays")),<br />
p ("e-mail: ",textfield("mail")));<br />
print p("commentaires");<br />
print textarea('commentaire','','10','50');<br />
print p("upload de fichier");<br />
print filefield('upload','',50,80);<br />
print p ( "Selectionner validation_code pour continuern",<br />
"autrement selectionner Annulationn");<br />
<br />
$options[0] = "annulation";<br />
$options[1] = "validation";<br />
<br />
menu_boutique(@options);<br />
}<br />
sub validation {<br />
my($actif) = @_;<br />
return unless $actif;<br />
$ecran_actuel = param("validation");<br />
my $nom = param ('nom');<br />
my $adresse = param ('adresse');<br />
my $ville = param ('ville');<br />
my $code_postal = param ('code_postal');<br />
my $pays = param ('pays');<br />
my $mail = param ('mail');<br />
my @gadgets = qw(nom adresse ville code_postal pays mail);<br />
unless ( $actif ) {<br />
print map { hidden($_) } @gadgets;<br />
return;<br />
}<br />
eval { captcha() };<br />
if ( $@ ) { die "vous etes un robot spammeur ou une mauvaise personne<br />
:<br />
$@" }<br />
sub captcha { print $c->get_html(PUBLIC_KEY);<br />
my $result = $c->check_answer(<br />
PRIVATE_KEY,$ENV{'REMOTE_ADDR'},my $challenge,my $response); if (<br />
$result->{is_valid} ) { print "ok";mail_envoye();}else {my $error > $result->{error};warn;}print submit;}<br />
<br />
}<br />
<br />
sub mail_envoye {<br />
my($actif) = @_;<br />
return unless $actif;<br />
print p("nnnnnnnnnnn");<br />
}<br />
<br />
## mail($numero_commande,$nom,$adresse,$ville,$code_postal<br />
$pays,###$telephone,$mail,$image);<br />
## cpandrename($image);<br />
<br />
sub annulation {<br />
my($actif) = @_;<br />
return unless $actif;<br />
print p ("vous etes une mauvaise personne ou un robot spammeur :");<br />
<br />
}<br />
<br />
sub pied_de_page_standard{ print end_form(),end_html() }<br />
<br />
<br />
<br />
<br />
sub vers_doc { submit (-NAME => ".Etat", -VALUE => shift) }<br />
<br />
<br />
<blockquote class="block1"><br />
<blockquote class="block0"><br />
<blockquote class="block1"><br />
et le plugin captcha<br />
ne me reponde pas je vais trouver tout seul<br />
</blockquote><br />
</blockquote><br />
<br />
epel remi<br />
j ai installe un LAMP stable sur mon ns******.ovh.net<br />
aujourdhui<br />
<br />
</blockquote><br />
</blockquote><br />
<br />
<br />
<br />