Interdire certains caractères

Soyez le premier à donner votre avis sur cette source.

Vue 16 028 fois - Téléchargée 296 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

Messages postés
15
Date d'inscription
mercredi 11 juin 2008
Statut
Membre
Dernière intervention
31 mars 2010

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?
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
8
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 ;)
Messages postés
1293
Date d'inscription
mardi 9 novembre 2004
Statut
Membre
Dernière intervention
21 mai 2015

C'est pas vraiment que getimagesize() à une faille c'est que simuler une image n'est pas très dur... .. . ;o)

@ tchaOo°
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
8
kankrelune > bah si getimagesize() a une faille en elle-même, j'y peux rien ;)
Messages postés
1293
Date d'inscription
mardi 9 novembre 2004
Statut
Membre
Dernière intervention
21 mai 2015

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.