Existe-t-il une bonne bibliothèque dans CPAN pour filtrer le script intersite (XSS)?
Question
Existe-t-il une bonne bibliothèque dans CPAN pour filtrer un champ de texte pour toutes les mauvaises choses, comme xss?
La solution
Votre première étape devrait toujours être de rechercher et de parcourir les résultats. Il semble qu'il y ait de nombreux hits potentiels . Lorsque je cherche quelque chose de nouveau, je navigue dans les résultats de recherche et vérifie la documentation des modules pour voir à quel point ils sont clairs et à quel point l'API est construite. Je cherche aussi des critiques (certaines ont, d'autres pas - c'est souvent aléatoire) et vérifie les bugs. Cela me donne une idée de ce à quoi je fais face.
Si votre question est & "Laquelle de ces différentes options est la meilleure? &" ;, alors je crains de ne pas savoir dans ce cas. (Ma réponse initiale était peut-être trop générale.)
Deux bons endroits pour lancer une recherche sur CPAN:
Autres conseils
Au niveau de base, vous souhaitez HTML :: Entités , mais quel échappe vous avez choisi dépend où vous utilisez les valeurs dans le DOM. Cela n'aidera pas du tout l'entité HTML à coder une entrée d'utilisateur si vous la collez dans une balise <script>
, par exemple.
Il est fort probable que vous utilisiez une sorte de modèle pour générer le code HTML. Il devrait donc avoir une méthode pour échapper au contenu. HTML::Mason
a <% $thing |h %>
, Template::Toolkit
a [% thing | html %]
... mais si vous le faites simplement dans votre propre code, vous devez appeler encode_entities
vous-même.