Sécuriser un champ textaera (TinyMCE)

amazigh25
WRInaute passionné
WRInaute passionné
 
Messages: 1006
Inscription: 4 Juin 2005

Sécuriser un champ textaera (TinyMCE)

Message le Dim Aoû 10, 2008 7:07

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]

passion
WRInaute accro
WRInaute accro
 
Messages: 3125
Inscription: 6 Jan 2006

Message le Dim Aoû 10, 2008 9:28

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: Tout sélectionner
$textarea= mysql_real_escape_string(htmlspecialchars($_POST['textarea']));

devrait suffire, non??

amazigh25
WRInaute passionné
WRInaute passionné
 
Messages: 1006
Inscription: 4 Juin 2005

Message le Dim Aoû 10, 2008 15:49

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


seebz
WRInaute impliqué
WRInaute impliqué
 
Messages: 808
Inscription: 15 Avr 2007

Message le Dim Aoû 10, 2008 17:50

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);


nickargall
WRInaute accro
WRInaute accro
 
Messages: 6468
Inscription: 13 Juin 2005

Message le Lun Aoû 11, 2008 9:56

Amazigh, si tu parviens à une solution potable, n'hésite pas à la partager ici :)

amazigh25
WRInaute passionné
WRInaute passionné
 
Messages: 1006
Inscription: 4 Juin 2005

Message le Lun Aoû 11, 2008 13:19

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

amazigh25
WRInaute passionné
WRInaute passionné
 
Messages: 1006
Inscription: 4 Juin 2005

Message le Mer Aoû 13, 2008 17:34

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


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités