Page 1 sur 1
Utilisation - installation captcha
Publié :
par aiglon
Bonjour.
J'ai un premier soucis avec l'installation du captcha.
Il fonctionne bien dans sa page de test
http://www.camping-les-roches.com/crypt/index.php mais quand je l'intègre à mon site en incluant le template l'image n'apparais pas.
http://www.camping-les-roches.com/captcha.php
Merci.
Publié :
par Camping-tour
Bonjour,
Désolé pour la réponse tardive en raison de WE prolongé
Je pense que cela vient d'un problème avec le chemin de l'include.
Il faut utiliser cela si la page est à la racine du site :
include "crypt/functions.php";
Sinon, il faut penser à ajouter ../ ou ../../ en fonction du chemin relatif.
Est ce la raison ?
C'est possible si les erreurs de php sont désactivées, dans ce cas il n'affiche rien.
Bonne soirée
Publié :
par aiglon
bonjour,
J'ai installer le script dans un dossier nommé "crypt" et mes fichiers existant du formulaire et d'envoi sont eux à la racine peut-être que mon problème vient de là? tout doit-il être dans le même répertoire?
Il faut utiliser cela si la page est à la racine du site :
include "crypt/functions.php";
j'ai installer le version 1.4 ou functions.php à été remplacé par "cryptographp.fct.php"
C'est possible si les erreurs de php sont désactivées, dans ce cas il n'affiche rien.
les erreurs php sont bien activées.
Merci.
Publié :
par Camping-tour
Bonjour,
non, tout ne doit pas être dans le même répertoire, ce n'est pas un souci, par contre, il faut bien spécifier le bon chemin d'accès lors de l'include.
Qu'en est il exactement ?
Je ne vois pas d'autre raison, où alors, il y a des nouveautés dans la dernière version.
Avez vous jeté un oeil ce de côté :
FAQ captcha
Cordialement,
Olivier
Publié :
par aiglon
Qu'en est il exactement ?
dans mon ficher "template.inc.php" qui se trouve dans le dosier"_template" je charge "cryptographp.fct.php" si la page du formulaire est demandée:
Code : Tout sélectionner
<?php
if ($skin['fil ariane'] == "Test"){
$cryptinstall="./crypt/cryptographp.fct.php";
include $cryptinstall;
}
?>
[...]
</head>
<body>
<!-- debut // contenu du centre ici -->
<?=$skin['contenu'];?>
<!-- fin // contenu du centre ici -->
</boby>
</html>
Dans le fichier du formulaire, "captcha.php" qui se trouve à la racine du site :
Code : Tout sélectionner
<?php
$skin['titre'] = "test captcha";
$skin['fil ariane'] = "Test";
$skin['description'] = "installation captcha";
$skin['mots clés'] = "captcha";
$skin['contenu'] .= <<<EOD
<div align="center">
<b>Exemple d'utilisation de Cryptographp v1.4</b><br>
(Cet exemple fonctionne même si les cookies sont désactivées)<br><br>
<form action="envoi-captcha.php" method="post">
<table cellpadding=1>
<tr><td align="center">
<?php dsp_crypt(0,1); ?> //Impression du code du captacha
</td></tr>
<tr><td align="center">Recopier le code:<br><input type="text" name="code"></td></tr>
<tr><td align="center"><input type="submit" name="submit" value="Envoyer"></td></tr>
</table>
<br><br><br>
Cryptographp (c) 2006-2007 Sylvain BRISON<br>
http://www.cryptographp.com
</form>
</div>
EOD;
include("_template/template.inc.php");
?>
Dans le fichier d'envoi du formulaire, "envoi-captcha.php" qui se trouve à la racine du site :
Code : Tout sélectionner
<?php
$cryptinstall="crypt/cryptographp.fct.php";
include $cryptinstall;
?>
<html>
<?php
if (chk_crypt($_POST['code']))
echo "<a><font color='#009700'>=> Bravo, vous avez saisi le bon code !</font></a>" ;
else echo "<a><font color='#FF0000'>=> Erreur, le code est incorrect</font></a>" ;
?>
</html>
Publié :
par Camping-tour
Cette ligne
Code : Tout sélectionner
$cryptinstall="./crypt/cryptographp.fct.php";
include $cryptinstall;
doit se trouver dans le même fichier que le code <?php dsp_crypt(0,1); ?> soit dans le fichier à la racine du site nommé captcha.php
Pas dans le fichier "template.inc.php" qui se trouve dans le dosier"_template"
Je pense que l'erreur vient du chemin d'accès à l'image.
D'autre part, lorsque l'on valide le formulaire, vous avez l'erreur suivante "Cannot send session cache limiter - headers already sent"
Cela vient du fait que les headers de la page ont déjà été envoyés dans le fichier envoi-captcha.php
Même chose, le include doit être mis en place dans cette page, pas dans le template.
En fait le include devra être mis en place dans chacune des pages qui vont utiliser le captacha.
Tenez nous au courant.
Cordialement.
PS : j'ai supprimé le code inutile dans votre précédent post.
Publié :
par aiglon
Cette ligne
Code:
$cryptinstall="./crypt/cryptographp.fct.php";
include $cryptinstall;
J'ai mis cette ligne dans le fichier template parce l' include doit se trouver avant la balise <html> or, il n'y en a pas dans le fichier "captcha.php" puisque cette balise fait partie de mon template.( j'ai quand même essayé l'include dans le fichier captcha.php mais en vain )
je vais avoir du mal à mettre l'include et la fonction "<?php dsp_crypt(0,1); ?> " dans le même fichier.
Actuellement je n'est plus d'erreur php sur ma page de
test mais toujours pas d'image.
quand on regarde le code source de cette page on voit à la place du chemin de l'image "<?php dsp_crypt(0,1); ?>" bizarre ?
Publié :
par Camping-tour
<?php dsp_crypt(0,1); ?> n'est pas bizarre du tout, c'est normal.
En revanche, il y a ce problème de header d'une part qui est lié au fait que l'include doit effectivement se trouver avant TOUT code quel qu'il soit.
Ensuite, je ne connais pas l'architecture du votre site, et il n'est pas évident de cerner le problème à distance.
En plaçant l'include dans la page.php, qui est à la racine du site, vous n'avez rien qui apparaît ?
Bizarre. Je veux bien admettre que ça pose un souci de header, mais l'image devrait être là.
Quel est le script que vous utilisez pour votre site Web ?
Publié :
par aiglon
bonjour,
<?php dsp_crypt(0,1); ?> n'est pas bizarre du tout, c'est normal.
je parlais du code source affiché par le navigateur internet, normalement le php n'est pas visible??
En plaçant l'include dans la page.php, qui est à la racine du site, vous n'avez rien qui apparaît ?
Non pas d'image et quand j'envoie le formulaire j'ai cette erreur :
Warning: chk_crypt() [function.include]: Failed opening '' for inclusion (include_path='.:/usr/local/lib/php') in /home/local/apache/htdocs/sites/c/camping-les-roches.com/crypt/cryptographp.fct.php on line 29
j'ai mis "<?php dsp_crypt(0,1); ?> " dans mon template pour faire un essai et là l'image s'affiche bien puisque l'include est sur le template:
page test.
Quel est le script que vous utilisez pour votre site Web ?
il y a deux script sur le site : Wanewsletter 2.3.2 pour la newsletter et scriptaculous v1.7.0 pour la simulation de coût.
mais je ne pense pas que mon problème vient de cela.
Publié :
par Camping-tour
Bonjour,
Ça semble fonctionner, je viens de faire un essai qui répond positivement avec un message d'acceptation du code saisi.
Reste à régler la mise en page pour que le code apparaisse au bon endroit.
En fait, c'est l'appel des templates dans différents fichiers qui posait problème donc, par rapport au chemin relatif de l'image.
Vous avez donc compris le fonctionnement du script, reste à placer les expressions conditionnelles pour donner une suite positive ou non à la validation d'un formulaire.
Wanewsletter est un très bon script, scriptaculous je ne connais pas.
Bon, j'espère pour vous que cette fois ça ira, captcha est un très bon script lorsqu'il est bien réglé, et je vous invite à sécuriser tous vos formulaires, sans exception.
Cela vous évitera le SPAM à votre insu par injection, et vous serez tranquille.
Pour ce qui concerne l'impression MAJ de vos simulations, est ce réglé ?
Cordialement.
Publié :
par aiglon
Reste à régler la mise en page pour que le code apparaisse au bon endroit.
Je viens de comprendre pourquoi <?php dsp_crypt(0,1); ?> dans captcha.php n'affiche pas l'image et est visible en regardant le code source de cette page via le navigateur.
En fait <?php dsp_crypt(0,1); ?> se trouve entre deux balises "EOD" et n'est donc pas considéré comme du php.
il doit y avoir une syntaxe particulière( forme concaténer) pour insérer du php entre les deux balises?
Code : Tout sélectionner
<?php
$skin['titre'] = "test captcha";
$skin['fil ariane'] = "Test";
$skin['description'] = "installation captcha";
$skin['mots clés'] = "captcha";
$skin['contenu'] .= <<<EOD
<div align="center">
<b>Exemple d'utilisation de Cryptographp v1.4</b><br>
(Cet exemple fonctionne même si les cookies sont désactivées)<br><br>
<form action="envoi-captcha.php" method="post">
<table cellpadding=1>
<tr><td align="center">
<?php dsp_crypt(0,1); ?> //Impression du code du captacha
</td></tr>
<tr><td align="center">Recopier le code:<br><input type="text" name="code"></td></tr>
<tr><td align="center"><input type="submit" name="submit" value="Envoyer"></td></tr>
</table>
<br><br><br>
Cryptographp (c) 2006-2007 Sylvain BRISON<br>
http://www.cryptographp.com
</form>
</div>
EOD;
include("_template/template.inc.php");
?>
Pour ce qui concerne l'impression MAJ de vos simulations, est ce réglé ?
oui c'était un oubli dans mon fichier print.css
Merci
Publié :
par Camping-tour
Bon ok, ravi que vous y soyez arrivé.
N'hésitez pas à poster quelques liens dans le forum à la suite de ce post, vers vos pages qui utiliseront le script en question.
Ça peut intéresser d'autres gestionnaires HPA qui veulent sécuriser leurs formulaires.
Nous l'utilisons sur Camping-tour également. Il est parfois stupide de chercher à réécrire du code qui fonctionne bien, simple à mettre en oeuvre et bien sécurisé comme c'est le cas ici.
Bon développement, et surtout, bonne saison.
Publié :
par Camping-tour
Bonjour,
Alors visiblement vous y êtes arrivé ?
http://www.camping-les-roches.com/reservation.php
Satisfait du script ?
Il répond à vos attentes et vos formulaires sont sécurisés ?
Cordialement.
Publié :
par aiglon
bonjour,
oui le script est super il me convient bien.
j'ai rencontré des difficultés à le mettre en place parce que mes pages de contenu utilisent la syntaxe Heredoc.
Mais pour la majorité des sites ce scripte est facile à mettre en place.
Encore merci de votre aide et désolé de ne pas avoir donné de nouvelle plus tôt.
A+
Publié :
par Camping-tour
Pas de souci, la saison démarre et tout le monde est très occupé
Ravi d'avoir pu vous aider.
Votre devriez être tranquille avec ce script, je n'ai encore jamais vu de robots le forcer.
Cordialement.
Publié :
par aiglon
bonjour, je viens de constater que lorsque l'on quitte ma page de formulaire pour une autre page du site, celle-ci affiche dans l'url la session précédemment ouverte exemple: PHPSESSID=0592d2f631a283eaba0a33093b0bd07f
c'est très problématique car google index ces pages et je risque un duplicate content.
Merci de votre aide.
Publié :
par Camping-tour
Et avec ce code sur la page suivante ?
Code : Tout sélectionner
@$sid = $_GET['PHPSESSID'];
$page = "url_de_la_page_de_destination";
if ( isset($sid) ) {
header("Status: 301 Moved Permanently");
header("Location: ".$page."");
exit();
}
Il est à placer tout en haut de la page php, avant tout code html.
Tenez nous au courant. Avec ça, les moteurs de recherche n'indexeront pas les pages avec les variables de session.
Ce code est inspiré de celui que nous utilisons pour ne pas avoir le même problème avec les codes partenariat qui proposent des liens du type :
-
http://www.camping-tour.fr/?id_site=386
Publié :
par aiglon
Merci, j'ai essayer ce code, il marche bien mais je doit l'installer sur chaque page du site pour résoudre mon problème
J'ai trouver un autre code qu'il me suffit d'installer sur mon template:
Code : Tout sélectionner
ob_start();
session_start();
output_reset_rewrite_vars();
ini_set("session.use_trans_sid","Off");
Merci de votre aide.
Publié :
par Camping-tour
Ah oui, c'est vrai que vous tournez avec un template, j'avais oublié.
Bon, ravi que vous ayez trouvé une solution plus rapide.
Cordialement.