Bonjour, voila je suis sur ce script depuis quelques temps et ça ne fonctionne pas comme je veux...
En fait je voudrais interdire certains carractères pour éviter les injections dans mon textarea.
Je voudrais interdire : #[{}]; et conserver les autres (accents, parenthèses, etc...)
Le code ci-dessous fonctionne "trop bien" je veux dire qu'il interdit tous les caractères spéciauxEt celui-ci ne fonctionne pas
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 { $tab = explode(PHP_EOL, trim($_POST['txt'])); $tab = array_map('trim', $tab); $err = FALSE; foreach($tab as $ligne){ if(strlen($ligne) > 20 OR !ctype_alnum($ligne)){ echo '<br /> Les carractères spéciaux #[{}]; ne sont pas autorisés<br /><br /> Merci pour votre compréhention.<br />'; $err = TRUE; } }
Pouvez me dire ce qui ne va pas dans le second ou comment rectifier le premier... Merci...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 { $tab = explode(PHP_EOL, trim($_POST['txt'])); $tab = array_map('trim', $tab); $err = FALSE; foreach($tab as $ligne){ if (isset($_POST['txt'])) { $txt = $_POST['txt']; if (!preg_match('#[{}];', $txt) || strlen($txt)>300) die (" Les carractères spéciaux #[{}]; ne sont pas autorisés<br /><br /> Merci pour votre compréhention.<br />"); else echo "Message accepté : $txt"; } }
Partager