7
votes

TinyMCE Security Question: Comment prévenir les intrants malveillants?

Comment prévenez-vous une entrée malveillante dans les éditeurs de WYSIWYG comme TinyMCE?

J'ai un système avec des utilisateurs qui ne sont pas "Tech Savvy" (donc pas de WMD) et ont besoin d'un éditeur de texte riche qui publie son contenu dans une base de données.

Je suis inquiet pour les attaques de script et le code d'entrée malveillant.


0 commentaires

3 Réponses :


-4
votes

3 commentaires

JavaScript peut être ignoré par un attaquant, cela n'arrêtera pas l'entrée malveillante.


*** jamais *** s'appuyer sur la validation côté client


La validation du côté client est utile et si elle est utilisée correctement améliore l'expérience et la convivialité de l'utilisateur, mais elle doit toujours être accompagnée d'une validation du côté serveur. Lorsque je suis paresseux, je commence toujours par la validation du côté serveur, puis implémentez les mêmes chèques sur le client.



0
votes

Vous ne pouvez pas empêcher cette entrée du côté du client. Vous pouvez ajouter des choses à gêner (ou essayer), mais il sera toujours trivial de soumettre un code malveillant. Vous devez assainir dans PHP.

Évitez toujours toujours toujours le contenu de l'utilisateur soumis avant de l'afficher ( htmlentititions généralement prend en charge cela pour vous).

Si vous souhaitez que la possibilité de disposer de HTML soumis (comme vous le souhaitez que vous voulez WYSIWYG), vous aurez alors besoin de désinfecter la liste HTML qui a été soumis. Quand je dis blanc une liste, je veux dire à la fois le nom de la balise et l'attribut.

Je ne suis pas si familier avec le codédiciteur, mais j'ai trouvé Ce qui semble pouvoir faire ce que vous voulez ...


0 commentaires

14
votes

Si vous voulez seulement SAFY HTML, vous devez utiliser le purificateur HTML . Si vous souhaitez protéger contre XSS et bloquer tout HTML, vous devez utiliser $ var = htmlspcialchars ($ var, ent_quotes);


1 commentaires

+1 pour le purificateur HTML. Fonctionne vraiment bien et vous permet de personnaliser ce que vous voulez et de ce que vous voulez pas au niveau de l'étiquette unique ou même un attribut unique