Sécuriser un champ textaera (TinyMCE)

WRInaute impliqué
Bonjour,
J'ai besoin pour un projet que le visiteur puisse saisir un texte à l'aide d'un éditeur visuel (j'ai choisi TinyMCE) et je voudrais m'assurer avec de stocker les données produites qu'aucun Javascript ni code PHP n'a été introduit. Dans le cas contraire, le code doit être désactivé voire supprimé.
Sachant que j'utilise CodeIgniter comme Framework et celui ci contient un filtre XSS : http://codeigniter.com/user_guide/libraries/input.html , que j'ai activé par defaut.

Qu'est ce que vous me conseillez en matière de sécurisation ?

Adam [/code]
 
WRInaute accro
bah... je ne comprends pas??
TinyMCE agit sur le client pas sur le serveur donc les données de ton textarea, c'est à toi de les traiter avant insert sur ta base, non??
Donc le genre:
Code:
$textarea= mysql_real_escape_string(htmlspecialchars($_POST['textarea']));
devrait suffire, non??
 
WRInaute impliqué
Je sais que le traitement doit se faire au niveau du serveur ! :)
Juste que je pense pas que cette méthode est suffisante vu que lorsque j'afficherai le contenu de champ plutard rien ne me garanti qu'il ne contient pas un ptit javascript !

Je présume qu'il va falloir que j'utilise des regex pour traquer des balises que javascript, ou alert ... , qu'en pensez vous ?

Adam
 
WRInaute impliqué
méthode bourin mais qui devrait résoudre ton problème :

$texte = str_replace('<script', '&lt;script', $texte);
$texte = str_replace('</script', '&lt;/script', $texte);
$texte = str_replace('<?', '&lt;?', $texte);
$texte = str_replace('?>', '>&gt;', $texte);
 
WRInaute impliqué
Je vais me baser sur la proposition de seebz pour créer une fonction que tout le monde pourrait utiliser.

Je la posterai quand ça sera réalisé ! Promis :)

Adam
 
WRInaute impliqué
Bonsoir !
Je viens de me pencher sur la fonction XSS_Clean proposée par Codeigniter. C'est vraiment hallucinant !
J'ai jamais vu une fonction aussi parfaite ! Elle ne laisse rien même les applets JAVA !
C'est un peu la même chose que seebz avait proposer !

Je vous invite à utiliser cette fonction disponible dans system/libraries/input.php !
Je pense qu'elle pourra être facilement utilisée hors le cadre du framework!

Adam
 
Discussions similaires
Haut