Interdire certains caractères

5/5 (45 avis)

Vue 17 128 fois - Téléchargée 320 fois

Description

Bonjour a tous,
Cette source permet d'interdire l'utilisation de certains caractère et d'afficher un message d'erreur avec le / les caractères interdits utilisés.
J'avais déjà posté une source preque identique (celle là est quand même mieux) qu'un Admin (a ma demande) a supprimée.
Celle ci est plus optimiser et sans doute plus propre.

Source / Exemple :


<?php 
/* Code de index.php */
include('verif.php') ; ?>
<html>
<head>
</head>
<body>
<form action="index.php" method="post">
<div align="center"> 
<textarea name="message" cols="40" rows="7">
<?php
if(isset($_POST['message'])) echo $_POST['message'] ;
?>
</textarea>	<br />
<input type="submit" value="Envoyer"> </div>
</form>
<?php 
if(isset($_POST['message'])) {
$resultat = caracteres_interdits() ;
echo $resultat ; // On affiche le message si il ne contient pas d'erreur
}
?> 
</body>
</html>		   

<?php 
/* Code de verif.php */ 
function caracteres_interdits() {
$message_temporaire = strtolower($_POST['message']) ; // Permet de rendre le script insensible à la casse.
$carac_interdits[1] = '@' ; // 1 champ du tableau des caractères interdits
$carac_interdits[2] = '\'' ; // 2 champ du tableau des caractères interdits
$carac_interdits[3] = '"' ; // 3 champ du tableau des caractères interdits
$traitement = 1 ;  	
$erreur = 0 ;	

foreach($carac_interdits as $traitement) {
$position = strpos($message_temporaire, $traitement) ; // STRPOS renvoie TRUE si le caractère est trouvé

if ($position !== FALSE) { // Si la fonction ne renvoie pas FALSE c'est que le caractère est trouvé
   echo 'Erreur : Vous ne pouvez pas utiliser le caractère <strong>'.$traitement.'</strong> <br />' ;
   $erreur = 1 ;
}} // Fin de la boucle	
	
if($erreur == 0) {
 return $_POST['message'] ;
	}	
} // Fin de la fonction	  
?>

Conclusion :


Je penses que certaines choses peuvent être amélioré mais je ne sais pas comment donc j'attends vos idées et vos commentaires.

Codes Sources

A voir également

Ajouter un commentaire Commentaires
sidouo Messages postés 15 Date d'inscription mercredi 11 juin 2008 Statut Membre Dernière intervention 31 mars 2010
9 août 2008 à 23:43
salut tout le monde quelqu'un peux me dire l'interdiction
de plusieurs caracteres en utilisant la notion des expression reguliere.

ce que j'ai fais..
function verifpseudou($variable)
{
$syntaxe="#[a-zA-z0-9_.-]#";
return ((preg_match($syntaxe,$variable))?true:false);
}
mais ca va pas marche... lorsque je tape un?, <, > il les accept?
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 9
2 janv. 2007 à 19:18
bah en même temps si tu fous les en-têtes dans le fichier je peux rien y faire mdr ... dans ce cas tous les scripts ont des failles XD

Enfin bon l'image ne s'affichera pas ;)
kankrelune Messages postés 1293 Date d'inscription mardi 9 novembre 2004 Statut Membre Dernière intervention 21 mai 2015
2 janv. 2007 à 15:32
C'est pas vraiment que getimagesize() à une faille c'est que simuler une image n'est pas très dur... .. . ;o)

@ tchaOo°
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 9
29 déc. 2006 à 17:15
kankrelune > bah si getimagesize() a une faille en elle-même, j'y peux rien ;)
kankrelune Messages postés 1293 Date d'inscription mardi 9 novembre 2004 Statut Membre Dernière intervention 21 mai 2015
29 déc. 2006 à 17:01
Effectivement comme en C la preincrementation est plus rapide que la postincrementation... et ce pour les même raisons... .. .

@ tchaOo°

ps : au fait Anthomicro... ton code d'upload sécurisé à une faille... getimagesize() est contournable... .. . ;o)
Afficher les 45 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.