par
scoubi » 25 août 2013, 21:54
Toutes mes excuses moogli,
J'ai effectivement oublié de masquer la petite bibliothèque je vais corriger cela immédiatement, je renouvelle donc mes plus plates escuses
voici mon code:
Code : Tout sélectionner
<!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']));
$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 */
$file = 'guestbook.txt';
$find = array(
'/ggggggg gg gggggg\s/i',
'/ggg\s/i',
'/ggggggg\s/i',
'/gg ggggggg\s/i',
'/ggggggggggggggggggg\s/i',
);
$newmail = censorWords($find,$mail);
$newnom = censorWords($find,$nom);
$newmessage = censorWords($find,$message);
$page = "";
$lemail = $mail;
$page .= " <b>$nom</b> ($lemail)$d<br> le: $d<br> $message<br><hr>\n";
//On rajoute le message
fwrite($fp,"$page" ,strlen("$page"));
//fermeture du fichier
fclose($fp);
?>
<?php include("guestbook.php"); ?>
</body>
</html>
Je veux donc pour que mon texte soit lisible afficher à ç é à et ' et non \' donc j'ai utilisé stripslashes
Code : Tout sélectionner
//On convertit les caracteres html
echo htmlspecialchars_decode(htmlentities($chaine, ENT_NOQUOTES, 'ISO-8859-1'));
$nom = stripslashes ($_POST['nom']);
$mail = stripslashes ($_POST['mail']);
$message = stripslashes ($_POST['message']);
$d = date ( "d/m/Y H:i:s" );
ensuite j'ai intégré un module pour éviter les insultes éventuelles postées dans le livre d'or
Code : Tout sélectionner
function censorWords($find=array(),$text=null){
$replace = ' **** ';
return preg_replace($find,$replace,$text);
}
/*liste des mots a filtrer ou expression */
$file = 'guestbook.txt';
$find = array(
'/ggggggg gg gggggg\s/i',
'/ggg\s/i',
'/ggggggg\s/i',
'/gg ggggggg\s/i',
'/ggggggggggggggggggg\s/i',
);
$newmail = censorWords($find,$mail);
$newnom = censorWords($find,$nom);
$newmessage = censorWords($find,$message);
Les deux combinés fonctionnent à merveille
En voulant optimiser la sécurité et les messages avec des scripts html... j'ai donc effectué une recherche et trouvé htmlspecialchars.
j'ai donc modifié mes déclarations nom, email, message comme ceci
Code : Tout sélectionner
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']));
j'ai donc les caractères et le fait de ne plus rendre actif un script qui fonctionne, mais plus le remplacement des insultes !!!
y aurait-il une incompatibilité entre htmlspecialchars et la détection ?
Merci pour ta réponse par avance
Toutes mes excuses moogli,
J'ai effectivement oublié de masquer la petite bibliothèque je vais corriger cela immédiatement, je renouvelle donc mes plus plates escuses
voici mon code:
[code]<!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']));
$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 */
$file = 'guestbook.txt';
$find = array(
'/ggggggg gg gggggg\s/i',
'/ggg\s/i',
'/ggggggg\s/i',
'/gg ggggggg\s/i',
'/ggggggggggggggggggg\s/i',
);
$newmail = censorWords($find,$mail);
$newnom = censorWords($find,$nom);
$newmessage = censorWords($find,$message);
$page = "";
$lemail = $mail;
$page .= " <b>$nom</b> ($lemail)$d<br> le: $d<br> $message<br><hr>\n";
//On rajoute le message
fwrite($fp,"$page" ,strlen("$page"));
//fermeture du fichier
fclose($fp);
?>
<?php include("guestbook.php"); ?>
</body>
</html>[/code]
Je veux donc pour que mon texte soit lisible afficher à ç é à et ' et non \' donc j'ai utilisé stripslashes
[code]//On convertit les caracteres html
echo htmlspecialchars_decode(htmlentities($chaine, ENT_NOQUOTES, 'ISO-8859-1'));
$nom = stripslashes ($_POST['nom']);
$mail = stripslashes ($_POST['mail']);
$message = stripslashes ($_POST['message']);
$d = date ( "d/m/Y H:i:s" );[/code]
ensuite j'ai intégré un module pour éviter les insultes éventuelles postées dans le livre d'or
[code]function censorWords($find=array(),$text=null){
$replace = ' **** ';
return preg_replace($find,$replace,$text);
}
/*liste des mots a filtrer ou expression */
$file = 'guestbook.txt';
$find = array(
'/ggggggg gg gggggg\s/i',
'/ggg\s/i',
'/ggggggg\s/i',
'/gg ggggggg\s/i',
'/ggggggggggggggggggg\s/i',
);
$newmail = censorWords($find,$mail);
$newnom = censorWords($find,$nom);
$newmessage = censorWords($find,$message);
[/code]
Les deux combinés fonctionnent à merveille
En voulant optimiser la sécurité et les messages avec des scripts html... j'ai donc effectué une recherche et trouvé htmlspecialchars.
j'ai donc modifié mes déclarations nom, email, message comme ceci
[code]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']));[/code]
j'ai donc les caractères et le fait de ne plus rendre actif un script qui fonctionne, mais plus le remplacement des insultes !!!
y aurait-il une incompatibilité entre htmlspecialchars et la détection ?
Merci pour ta réponse par avance