Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

reCaptcha cgi recuperer les arguments pour validation code captcha

4 réponses
Avatar
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/xhtml1-transitional.dtd">
<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

4 réponses

Avatar
swilting
swilting wrote:

#!/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]));

}


..................
eval {

########################################eval { my $eval = fonc();}
plugin captcha
print $c->get_html(PUBLIC_KEY);##je sais pas on pourait faire une
fonction qui prends comme argument fonction(@donnees,$eval)

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]));




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

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/xhtml1-transitional.dtd">
<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


Avatar
swilting
swilting wrote:<br />
<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 =&gt; '6Le***************1rq03wAyR';<br />
use constant PRIVATE_KEY =&gt; '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-&gt;new;<br />
$q = CGI::Simple-&gt;new;<br />
%etats = (<br />
'defaut' =&gt;&amp;saisie_commande,<br />
'validation_code' =&gt;&amp;validation_code,<br />
'annulation' =&gt;&amp;annulation,<br />
);<br />
$ecran_actuel = param(&quot;.Etat&quot;) || &quot;defaut&quot;;<br />
die &quot;Pas d'ecran pour $ecran_actuel&quot; 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-&gt;($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 =&gt; &quot;commande&quot; , -BGCOLOR=&gt;&quot;White&quot;);<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-&gt;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-&gt;check_answer(<br />
PRIVATE_KEY,$ENV{'REMOTE_ADDR'},my $challenge,my $response);<br />
if ( $result-&gt;{is_valid} ) {<br />
print &quot;ok&quot;;validation_code();<br />
}<br />
else {<br />
my $error = $result-&gt;{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(&quot;code verifier&quot;);<br />
<br />
}<br />
<br />
sub annulation {<br />
my($actif) = @_;<br />
return unless $actif;<br />
print p (&quot;vous etes une mauvaise personne ou un robot spammeur :&quot;);<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 />
&ccedil;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 &agrave; 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 />
&lt;!DOCTYPE html<br />
PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot;<br />
&quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;<br />
&lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot; lang=&quot;en-US&quot; xml:lang=&quot;en-US&quot;&gt;<br />
&lt;head&gt;<br />
&lt;title&gt;commande&lt;/title&gt;<br />
&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=iso-8859-1&quot;<br />
/&gt; &lt;/head&gt;<br />
&lt;body bgcolor=&quot;White&quot;&gt;<br />
&lt;form method=&quot;post&quot; action=&quot;/cgi-bin/vente.cgi&quot;<br />
enctype=&quot;multipart/form-data&quot;&gt;<br />
&lt;/form&gt;<br />
&lt;/body&gt;<br />
&lt;/html&gt;<br />
<br />
meme pas le print p(&quot;&quot;);<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 />
Avatar
swilting
#!/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 =&gt; '6LeEMAIAAAAAAL1w3ZJ5QQw9O_REAx81rq03wAyR';<br />
use constant PRIVATE_KEY =&gt; '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-&gt;new;<br />
$q = CGI::Simple-&gt;new;<br />
%etats = (<br />
'annulation' =&gt;&amp;annulation,<br />
'defaut' =&gt;&amp;saisie_commande,<br />
'validation' =&gt;&amp;validation,<br />
'mail_envoye' =&gt; &amp;mail_envoye,<br />
);<br />
$ecran_actuel = param(&quot;.Etat&quot;) || 'defaut';<br />
die &quot;Pas d'ecran pour $ecran_actuel&quot; 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-&gt;($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 =&gt; &quot;commande&quot; , -BGCOLOR=&gt;&quot;White&quot;);<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(&quot;saisie_commande&quot;);<br />
print p(&quot;Tous les champs sont obligatoires&quot;);<br />
print p(&quot;un code de securite vous seras demand&eacute; dans la prochaine<br />
page&quot;);<br />
print pre ( p (&quot;Nom: &quot;,textfield(&quot;nom&quot;)),<br />
p (&quot;Adresse: &quot;,textfield(&quot;adresse&quot;)),<br />
p (&quot;Ville: &quot;,textfield(&quot;ville&quot;)),<br />
p (&quot;Code Postal: &quot;,textfield(&quot;code_postal&quot;)),<br />
p (&quot;Pays: &quot;,textfield(&quot;pays&quot;)),<br />
p (&quot;e-mail: &quot;,textfield(&quot;mail&quot;)));<br />
print p(&quot;commentaires&quot;);<br />
print textarea('commentaire','','10','50');<br />
print p(&quot;upload de fichier&quot;);<br />
print filefield('upload','',50,80);<br />
print p ( &quot;Selectionner validation_code pour continuern&quot;,<br />
&quot;autrement selectionner Annulationn&quot;);<br />
<br />
$options[0] = &quot;annulation&quot;;<br />
$options[1] = &quot;validation&quot;;<br />
<br />
menu_boutique(@options);<br />
}<br />
sub validation {<br />
my($actif) = @_;<br />
return unless $actif;<br />
$ecran_actuel = param(&quot;validation&quot;);<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 &quot;vous etes un robot spammeur ou une mauvaise personne :<br />
$@&quot; }<br />
sub captcha { print $c-&gt;get_html(PUBLIC_KEY);<br />
my $result = $c-&gt;check_answer(<br />
PRIVATE_KEY,$ENV{'REMOTE_ADDR'},my $challenge,my $response); if (<br />
$result-&gt;{is_valid} ) { print &quot;ok&quot;;mail_envoye();}else {my $error $result-&gt;{error};warn;}print submit;}<br />
<br />
}<br />
<br />
sub mail_envoye {<br />
my($actif) = @_;<br />
return unless $actif;<br />
print p(&quot;nnnnnnnnnnn&quot;);<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 (&quot;vous etes une mauvaise personne ou un robot spammeur :&quot;);<br />
<br />
}<br />
<br />
sub pied_de_page_standard{ print end_form(),end_html() }<br />
<br />
<br />
<br />
<br />
sub vers_doc { submit (-NAME =&gt; &quot;.Etat&quot;, -VALUE =&gt; 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 />
Avatar
swilting
swilting wrote:<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 =&gt; '6LeEMAIAAAAQQw9O_REAx81rq03wAyR';<br />
use constant PRIVATE_KEY =&gt; '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-&gt;new;<br />
$q = CGI::Simple-&gt;new;<br />
%etats = (<br />
'annulation' =&gt;&amp;annulation,<br />
'defaut' =&gt;&amp;saisie_commande,<br />
'validation' =&gt;&amp;validation,<br />
'mail_envoye' =&gt; &amp;mail_envoye,<br />
);<br />
$ecran_actuel = param(&quot;.Etat&quot;) || 'defaut';<br />
die &quot;Pas d'ecran pour $ecran_actuel&quot; 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-&gt;($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 =&gt; &quot;commande&quot; , -BGCOLOR=&gt;&quot;White&quot;);<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(&quot;saisie_commande&quot;);<br />
print p(&quot;Tous les champs sont obligatoires&quot;);<br />
print p(&quot;un code de securite vous seras demand&eacute; dans la prochaine<br />
page&quot;);<br />
print pre ( p (&quot;Nom: &quot;,textfield(&quot;nom&quot;)),<br />
p (&quot;Adresse: &quot;,textfield(&quot;adresse&quot;)),<br />
p (&quot;Ville: &quot;,textfield(&quot;ville&quot;)),<br />
p (&quot;Code Postal: &quot;,textfield(&quot;code_postal&quot;)),<br />
p (&quot;Pays: &quot;,textfield(&quot;pays&quot;)),<br />
p (&quot;e-mail: &quot;,textfield(&quot;mail&quot;)));<br />
print p(&quot;commentaires&quot;);<br />
print textarea('commentaire','','10','50');<br />
print p(&quot;upload de fichier&quot;);<br />
print filefield('upload','',50,80);<br />
print p ( &quot;Selectionner validation_code pour continuern&quot;,<br />
&quot;autrement selectionner Annulationn&quot;);<br />
<br />
$options[0] = &quot;annulation&quot;;<br />
$options[1] = &quot;validation&quot;;<br />
<br />
menu_boutique(@options);<br />
}<br />
sub validation {<br />
my($actif) = @_;<br />
return unless $actif;<br />
$ecran_actuel = param(&quot;validation&quot;);<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 &quot;vous etes un robot spammeur ou une mauvaise personne<br />
:<br />
$@&quot; }<br />
sub captcha { print $c-&gt;get_html(PUBLIC_KEY);<br />
my $result = $c-&gt;check_answer(<br />
PRIVATE_KEY,$ENV{'REMOTE_ADDR'},my $challenge,my $response); if (<br />
$result-&gt;{is_valid} ) { print &quot;ok&quot;;mail_envoye();}else {my $error &gt; $result-&gt;{error};warn;}print submit;}<br />
<br />
}<br />
<br />
sub mail_envoye {<br />
my($actif) = @_;<br />
return unless $actif;<br />
print p(&quot;nnnnnnnnnnn&quot;);<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 (&quot;vous etes une mauvaise personne ou un robot spammeur :&quot;);<br />
<br />
}<br />
<br />
sub pied_de_page_standard{ print end_form(),end_html() }<br />
<br />
<br />
<br />
<br />
sub vers_doc { submit (-NAME =&gt; &quot;.Etat&quot;, -VALUE =&gt; 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 />