Quelles sont les alternatives à @SafeHtml du validateur Hibernate pour valider les chaînes?


10

Comme indiqué dans les JavaDocs, il sera supprimé dans une future version. Existe-t-il une bibliothèque alternative qui fonctionne de manière similaire via des annotations?

Réponses:


7

Expliquons d'abord les raisons de la dépréciation: nous avons récemment eu un problème de sécurité (CVE) en raison de cette contrainte même. C'était dû à une erreur dans notre implémentation mais cela nous a fait réaliser que c'était très fragile et potentiellement un bidon de vers en matière de sécurité.

L'alternative pour l'instant serait de l'implémenter vous-même sur la base de notre dernière implémentation et de la maintenir dans votre propre application (avec potentiellement vos propres réglages).

Nous avons un très bel article sur notre blog expliquant comment le faire facilement: https://in.relation.to/2017/03/02/adding-custom-constraint-definitions-via-the-java-service-loader/ .

Fondamentalement, ce changement nous fait dire que nous ne voulons pas prendre la responsabilité de quelque chose qui est potentiellement fragile et nécessitera beaucoup d'attention, avec des ajustements potentiellement spécifiques à la plate-forme d'application sur laquelle il est déployé.

Mise à jour: j'ai publié une annonce complète ici: https://in.relation.to/2019/11/20/hibernate-validator-610-6018-released/ .


Y a-t-il une raison pour laquelle la documentation ne fournit aucune information sur la raison pour laquelle elle va être supprimée?
Joachim Sauer

Pas vraiment. TBH, je n'ai pas encore eu le temps d'annoncer correctement ces sorties. Il y aura bientôt un billet de blog et des notes de migration. Je vais y travailler cette semaine.
Guillaume Smet

Pourriez-vous fournir un lien ou quelques détails sur le problème de sécurité?
Dario Seidl


1
@DarioSeidl le blog est ici: in.relation.to/2019/11/20/hibernate-validator-610-6018-released . Je mettrai à jour mon message.
Guillaume Smet
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.