par
scoubi » 09 janv. 2014, 11:32
Bonjour à tous et je vous souhaite à tous une bonne année 2014.
Etant attaqué sur mon livre d'or ( environ 200 message par heure !!! ) je suis obligé d'installer un code captcha mais je n'arrive pas à adapter un code au sein de ce dernier et j'aurais besoin de vos aides.
Après recherches j'ai porté mon choix sur cet exemple :
http://www.petit-kiwi.com/php-creation- ... -anti-spam
J'ai donc crée les fichiers image png, récupéré les deux polices de caractères, crée le fichier captcha.php...
j'ai bien le captcha qui s'affiche mais je ne peux plus poster de message dans le livre ( que le captcha soit valide ou non !)
mais n'étant pas encore un foudre en programmation php l'implantation de ce code ne poste plus les messages dans le livre d'or, l'action pour poster viens en page guestbook.php
par
<div style="text-align:center;"><INPUT border=0 src="envoyer.jpg" type=image name="sub" value="Envoyer" /></div>
J'ai un livre d'or sans base MySQL avec écriture dans des fichier txt voici la prog du fichier guestbook.php :
<!DOCTYPE html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<meta name="description" CONTENT="">
<meta HTTP-EQUIV="IMAGETOOLBAR" content="no" SCROLLING="yes" >
<meta name="keywords" CONTENT="">
<head>
<title>Livre d'or</title>
<style type="text/css">
body {
background: #000000;
color: #000000;
font-family: Verdana ;
color:white;
font-size:14px;
}
</style>
<style type="text/css">
div.grande
{
width : 70%;
}
p{
line-height:25px;
}
</style>
</head>
<body>
<form method=post action=writeguest.php
onSubmit='if ( this.nom.value.length < 2 ) { return false ;}' >
<BR><p align="center"><FONT FACE="gabriola" size="9" color="white">Fils de Saône</FONT></BR><FONT FACE="gabriola" size="6" color="white">Livre d'or </FONT></p></FONT>
<table border="0" align="center">
<tr><td><img src="test.jpg"></td><td>
<Div>
<table>
<tr><td><FONT FACE="monotype corsiva" size="4" color="white">Nom :</FONT></td>
<td><input type=text name=nom size=25 ></td></tr>
<tr><td><FONT FACE="monotype corsiva" size="4" color="white">Mail :</FONT></td>
<td><input type=text name=mail size=25 ></td></tr>
<tr><td><FONT FACE="monotupe corsiva" size="4" color="white">Message:</FONT></td><td colspan=1>
<textarea name=message rows=6 cols=47></textarea>
</td></tr>
</table>
</Div>
</td><td><img src="livre.jpg"></td></td></tr></table>
<div style="text-align:center;"><INPUT border=0 src="envoyer.jpg" type=image name="sub" value="Envoyer" /></div>
</form>
<div style="text-align:center;"><a href="http://fils-de-saone.fr/index.htm"onMouseOver="window.status='';return true"><img src="bfermer.jpg" BORDER="0" alt=""/></a></div>
<div align="center" ><div class="grande" style="border:3px solid #000000; padding 1px;"><div style="text-align:left;"><FONT FACE="gabriola" size="6" color="white" >Vos impressions, commentaires:</FONT></div></div>
<div align="center" >
<div class="grande" style="border:3px solid #FFFFFF; padding 3px;"><div style="text-align:left;">
<?php include("guestbook.txt"); ?></div></div>
</BR>
<div style="text-align:center;"><a href="http://filstest/index.htm"onMouseOver="window.status='';return true"><img src="bfermer.jpg" BORDER="0" alt=""/></a></div>
<div style="text-align:center"><FONT face="gabriola" size="3"color="#FFFFF"><P>filtest Copyright © testFrance,
Tous drois reservés - All rights reserved, reproduction interdite</font>
et voici le code de mon writeguest.php
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<head>
<meta name="description" CONTENT="">
<meta HTTP-EQUIV="IMAGETOOLBAR" content="no" SCROLLING="yes" >
<meta name="keywords" CONTENT="">
<head>
<title></title>
</head>
<body>
<?php
//Ouverture du fichier en écriture
$fp = fopen("/htdocs/livredor/guestbook.txt",a);
//On convertit les caracteres html
echo htmlspecialchars_decode(htmlentities($chaine, ENT_NOQUOTES, 'ISO-8859-1'));
$nom = htmlspecialchars(stripslashes($_POST['nom']));
$mail = htmlspecialchars(stripslashes($_POST['mail']));
$message = htmlspecialchars(stripslashes($_POST['message']));
$ipvisiteur = $_SERVER["REMOTE_ADDR"];
$file = 'guestbook.txt';
//$mots_a_censurer = array(' con ',' merde ', ' batard ',' pd ',' enfoiré ', ' pute ', ' enculé ');
//$message = str_replace($mots_a_censurer, ' *** ', $message);
$d = date ( "d/m/Y à H:i:s" );
function censorWords($find=array(),$text=null){
$replace = ' **** ';
return preg_replace($find,$replace,$text);
}
/*liste des mots a filtrer ou expression aussi longue que tu veux*/
$file = 'guestbook.txt';
$find = array(
'/test anti insulte,\s/i',
);
$newmail = censorWords($find,$mail);
$newnom = censorWords($find,$nom);
$newmessage = censorWords($find,$message);
$page = "";
$page .= " <b>$newnom</b> $newmail<br> le: $d<br> $newmessage<br><hr>\n";
//On rajoute le message
fwrite($fp,"$page" ,strlen("$page"));
//fermeture du fichier
fclose($fp);
// 3/ GESTBOOK - AVEC IP
//Ouverture du fichier en écriture
$file = 'guestbook-ip.txt';
$fp = fopen("/htdocs/livredor/".$file,a);
$page = "";
$page .= " <b>$newnom</b> $newmail<br> le: $d Ip:$ipvisiteur<br> $newmessage<br><hr>\n";
//On rajoute le message
fwrite($fp,"$page" ,strlen("$page"));
//fermeture du fichier
fclose($fp);
?>
<?php include("guestbook.php"); ?>
</body>
</html>
Merci par avance pour vos aides précieuses
Amicalement scoubi
Bonjour à tous et je vous souhaite à tous une bonne année 2014.
Etant attaqué sur mon livre d'or ( environ 200 message par heure !!! ) je suis obligé d'installer un code captcha mais je n'arrive pas à adapter un code au sein de ce dernier et j'aurais besoin de vos aides.
Après recherches j'ai porté mon choix sur cet exemple :
[url]http://www.petit-kiwi.com/php-creation-captcha-anti-spam[/url]
J'ai donc crée les fichiers image png, récupéré les deux polices de caractères, crée le fichier captcha.php...
j'ai bien le captcha qui s'affiche mais je ne peux plus poster de message dans le livre ( que le captcha soit valide ou non !)
mais n'étant pas encore un foudre en programmation php l'implantation de ce code ne poste plus les messages dans le livre d'or, l'action pour poster viens en page guestbook.php
par
[html]<div style="text-align:center;"><INPUT border=0 src="envoyer.jpg" type=image name="sub" value="Envoyer" /></div>[/html]
J'ai un livre d'or sans base MySQL avec écriture dans des fichier txt voici la prog du fichier guestbook.php :
[html]<!DOCTYPE html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<meta name="description" CONTENT="">
<meta HTTP-EQUIV="IMAGETOOLBAR" content="no" SCROLLING="yes" >
<meta name="keywords" CONTENT="">
<head>
<title>Livre d'or</title>
<style type="text/css">
body {
background: #000000;
color: #000000;
font-family: Verdana ;
color:white;
font-size:14px;
}
</style>
<style type="text/css">
div.grande
{
width : 70%;
}
p{
line-height:25px;
}
</style>
</head>
<body>
<form method=post action=writeguest.php
onSubmit='if ( this.nom.value.length < 2 ) { return false ;}' >
<BR><p align="center"><FONT FACE="gabriola" size="9" color="white">Fils de Saône</FONT></BR><FONT FACE="gabriola" size="6" color="white">Livre d'or </FONT></p></FONT>
<table border="0" align="center">
<tr><td><img src="test.jpg"></td><td>
<Div>
<table>
<tr><td><FONT FACE="monotype corsiva" size="4" color="white">Nom :</FONT></td>
<td><input type=text name=nom size=25 ></td></tr>
<tr><td><FONT FACE="monotype corsiva" size="4" color="white">Mail :</FONT></td>
<td><input type=text name=mail size=25 ></td></tr>
<tr><td><FONT FACE="monotupe corsiva" size="4" color="white">Message:</FONT></td><td colspan=1>
<textarea name=message rows=6 cols=47></textarea>
</td></tr>
</table>
</Div>
</td><td><img src="livre.jpg"></td></td></tr></table>
<div style="text-align:center;"><INPUT border=0 src="envoyer.jpg" type=image name="sub" value="Envoyer" /></div>
</form>
<div style="text-align:center;"><a href="http://fils-de-saone.fr/index.htm"onMouseOver="window.status='';return true"><img src="bfermer.jpg" BORDER="0" alt=""/></a></div>
<div align="center" ><div class="grande" style="border:3px solid #000000; padding 1px;"><div style="text-align:left;"><FONT FACE="gabriola" size="6" color="white" >Vos impressions, commentaires:</FONT></div></div>
<div align="center" >
<div class="grande" style="border:3px solid #FFFFFF; padding 3px;"><div style="text-align:left;">
<?php include("guestbook.txt"); ?></div></div>
</BR>
<div style="text-align:center;"><a href="http://filstest/index.htm"onMouseOver="window.status='';return true"><img src="bfermer.jpg" BORDER="0" alt=""/></a></div>
<div style="text-align:center"><FONT face="gabriola" size="3"color="#FFFFF"><P>filtest Copyright © testFrance,
Tous drois reservés - All rights reserved, reproduction interdite</font>[/html]
et voici le code de mon writeguest.php
[php]<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<head>
<meta name="description" CONTENT="">
<meta HTTP-EQUIV="IMAGETOOLBAR" content="no" SCROLLING="yes" >
<meta name="keywords" CONTENT="">
<head>
<title></title>
</head>
<body>
<?php
//Ouverture du fichier en écriture
$fp = fopen("/htdocs/livredor/guestbook.txt",a);
//On convertit les caracteres html
echo htmlspecialchars_decode(htmlentities($chaine, ENT_NOQUOTES, 'ISO-8859-1'));
$nom = htmlspecialchars(stripslashes($_POST['nom']));
$mail = htmlspecialchars(stripslashes($_POST['mail']));
$message = htmlspecialchars(stripslashes($_POST['message']));
$ipvisiteur = $_SERVER["REMOTE_ADDR"];
$file = 'guestbook.txt';
//$mots_a_censurer = array(' con ',' merde ', ' batard ',' pd ',' enfoiré ', ' pute ', ' enculé ');
//$message = str_replace($mots_a_censurer, ' *** ', $message);
$d = date ( "d/m/Y à H:i:s" );
function censorWords($find=array(),$text=null){
$replace = ' **** ';
return preg_replace($find,$replace,$text);
}
/*liste des mots a filtrer ou expression aussi longue que tu veux*/
$file = 'guestbook.txt';
$find = array(
'/test anti insulte,\s/i',
);
$newmail = censorWords($find,$mail);
$newnom = censorWords($find,$nom);
$newmessage = censorWords($find,$message);
$page = "";
$page .= " <b>$newnom</b> $newmail<br> le: $d<br> $newmessage<br><hr>\n";
//On rajoute le message
fwrite($fp,"$page" ,strlen("$page"));
//fermeture du fichier
fclose($fp);
// 3/ GESTBOOK - AVEC IP
//Ouverture du fichier en écriture
$file = 'guestbook-ip.txt';
$fp = fopen("/htdocs/livredor/".$file,a);
$page = "";
$page .= " <b>$newnom</b> $newmail<br> le: $d Ip:$ipvisiteur<br> $newmessage<br><hr>\n";
//On rajoute le message
fwrite($fp,"$page" ,strlen("$page"));
//fermeture du fichier
fclose($fp);
?>
<?php include("guestbook.php"); ?>
</body>
</html>[/php]
Merci par avance pour vos aides précieuses
Amicalement scoubi