Java: la Meilleure façon d'enlever Javascript dans HTML
Quelle est la meilleure bibliothèque/approche pour la suppression de Javascript dans le code HTML qui sera affiché?
Par exemple, prendre:
<html><body><span onmousemove='doBadXss()'>test</span></body></html>
et quitter:
<html><body><span>test</span></body></html>
Je vois le DeXSS projet. Mais est-ce la meilleure façon de le faire?
Probablement, la meilleure façon de le faire est d'utiliser XSLT (écrire une feuille de style qui copie le volume admissible des éléments et des attributs), mais qui ne fonctionne que si votre document XHTML (à moins que XSLT a un mode HTML---je ne me souviens pas si il y en a une).
Que vous avez écrit "IE" au lieu de "c'est à dire" qui me confond sans fin!
lolz! moi aussi, je suis confus.
Ouais, je pouvais le voir 😛
double possible de Comment faire pour "Purifier" code HTML pour empêcher les attaques XSS en Java ou JSP ?
Que vous avez écrit "IE" au lieu de "c'est à dire" qui me confond sans fin!
lolz! moi aussi, je suis confus.
Ouais, je pouvais le voir 😛
double possible de Comment faire pour "Purifier" code HTML pour empêcher les attaques XSS en Java ou JSP ?
OriginalL'auteur mtyson | 2010-11-11
Vous devez vous connecter pour publier un commentaire.
JSoup a une méthode simple pour l'assainissement HTML basé sur une liste blanche.
Vérifier http://jsoup.org/cookbook/cleaning-html/whitelist-sanitizer
Il utilise une liste blanche, ce qui est plus sûr, puis la liste noire de l'approche DeXSS utilise. À partir de la DeXSS page:
Une liste noire seulement interdit connue dangereux constructions, tandis qu'une liste blanche permet seulement connu en sécurité des constructions. Si inconnu, voire dangereux les constructions peuvent seulement être protégés contre avec une liste blanche.
OriginalL'auteur beetstra
Le plus simple serait de ne pas avoir de ceux de la première place... Il serait probablement faire sens pour permettre seulement très simple tags pour être utilisé dans des champs de formulaire et d'interdire tout type d'attributs.
Probablement pas la réponse que vous allez pour, mais dans de nombreux cas, vous ne voulez fournir le balisage des capacités, et non d'une édition complète de la suite.
De même, un autre encore plus facile d'approche serait de fournir un texte basé sur la syntaxe, comme Markdown, pour l'édition. (pas beaucoup de manières que vous pouvez exploiter de la SORTE de la zone de montage, par exemple. La syntaxe Markdown + limitée liste des balises sans attributs).
OriginalL'auteur haylem