Quali alternative ci sono @SafeHtml di Hibernate Validator per convalidare le stringhe?


10

Come indicato in JavaDocs, verrà rimosso in una versione futura. Esiste una libreria alternativa che funziona in modo simile tramite annotazioni?

Risposte:


7

Spieghiamo prima i motivi della deprecazione: recentemente abbiamo avuto un problema di sicurezza (CVE) a causa di questo stesso vincolo. È stato a causa di un errore nella nostra implementazione, ma ci ha fatto capire che questo era molto fragile e potenzialmente una lattina di sicurezza dei worm.

L'alternativa per ora sarebbe implementarla tu stesso in base alla nostra ultima implementazione e mantenerla nella tua stessa applicazione (con potenzialmente le tue modifiche).

Abbiamo un bellissimo articolo sul nostro blog che spiega come farlo facilmente: https://in.relation.to/2017/03/02/adding-custom-constraint-definitions-via-the-java-service-loader/ .

Fondamentalmente, questo cambiamento è che stiamo dicendo che non vogliamo assumerci la responsabilità di qualcosa che è potenzialmente fragile e necessiterà di molta attenzione, con modifiche potenzialmente specifiche della piattaforma applicativa su cui è distribuita.

Aggiornamento: ho pubblicato un annuncio completo qui: https://in.relation.to/2019/11/20/hibernate-validator-610-6018-released/ .


C'è un motivo per cui la documentazione non fornisce alcuna informazione sul motivo per cui verrà rimossa?
Joachim Sauer,

Non proprio. TBH, non ho ancora avuto il tempo di annunciare correttamente queste versioni. Presto ci saranno post sul blog e note sulla migrazione. Ci lavorerò questa settimana.
Guillaume Smet,

Potresti fornire un link o alcuni dettagli sul problema di sicurezza?
Dario Seidl,


1
@DarioSeidl il post del blog è qui: in.relation.to/2019/11/20/hibernate-validator-610-6018-released . Aggiornerò il mio messaggio.
Guillaume Smet,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.