[Java / Kotlin] Traitement d'échappement (désinfection) pour HTML5 avec unbescape [Spring Boot]

Choses à faire

Le traitement d'échappement est effectué lors du remplacement de la chaîne de caractères de macro du modèle HTML par un paramètre.

manière

Cet article utilise ʻunbescape`.

Bien que le support de HTML5 ne soit pas spécifié, il existe également une méthode utilisant ʻApache Commons Text`.

introduction

Cette bibliothèque était dans spring-boot-starter-thymeleaf, donc si vous avez quelque chose en rapport avec SpringBoot, vous n'aurez peut-être rien à faire. Pour le moment, le référentiel de «Maven» est le suivant.

Échapper

J'ai essayé le processus d'évasion en me référant à l'article suivant.

Vous pouvez vous échapper avec HtmlEscape.escapeHtml5.

Code de vérification


fun main() {
    val value = """
        &: &
        ': '
        `: `
        ": "
        <: &lt;
        >: &gt;
    """.trimIndent()

    println(HtmlEscape.escapeHtml5(value))
}

Résultat d'exécution

Toutes les citations à l'exception des anciennes ont été échappées.

Résultat d'exécution


&amp;: &amp;amp;
&apos;: &amp;#x27;
`: &amp;#x60;
&quot;: &amp;quot;
&lt;: &amp;lt;
&gt;: &amp;gt;

Autre contenu échappable

Voici un aperçu du package. Vous pouvez vous échapper de différentes manières.

スクリーンショット 2019-12-10 13.02.45.png

Articles que j'ai utilisés comme référence

Recommended Posts

[Java / Kotlin] Traitement d'échappement (désinfection) pour HTML5 avec unbescape [Spring Boot]
[Java] Intégration LINE avec Spring Boot
Comparez Hello, world! Avec Spring Boot avec Java, Kotlin et Groovy
[Java] Hello World avec Java 14 x Spring Boot 2.3 x JUnit 5 ~
[Java] Article pour ajouter une validation avec Spring Boot 2.3.1.
Télécharger avec Spring Boot
[Java] [Spring Boot] Spécifier le profil d'exécution --Spring Boot à partir de NetBeans
Générer un code à barres avec Spring Boot
Hello World avec Spring Boot
Configuration Java avec Spring MVC
Implémenter GraphQL avec Spring Boot
Gérez l'API de date et d'heure Java 8 avec Thymeleaf avec Spring Boot
Démarrez avec Spring Boot
Bonjour tout le monde avec Spring Boot!
Exécutez LIFF avec Spring Boot
Connexion SNS avec Spring Boot
[Java] Thymeleaf Basic (Spring Boot)
Téléchargement de fichiers avec Spring Boot
Spring Boot commençant par copie
Application Java CICS-Run - (4) Application Spring Boot
Utilisation de Mapper avec Java (Spring)
Spring Boot à partir de Docker
Hello World avec Spring Boot
Définir des cookies avec Spring Boot
Utiliser Spring JDBC avec Spring Boot
Ajouter un module avec Spring Boot
Premiers pas avec Spring Boot
[Java] [Spring] Spring Boot 1.4-> 1.2 Note de rétrogradation
Créer un micro service avec Spring Boot
Développement piloté par domaine avec Java et Spring Boot-Layer et division de modules
Envoyer du courrier avec Spring Boot
Analyse HTML (scraping) avec JAVA
[Java] Exemple de projet de développement d'applications Web avec Spring Boot
Utiliser l'authentification de base avec Spring Boot
gRPC sur Spring Boot avec grpc-spring-boot-starter
Créez une application avec Spring Boot 2
Déploiement à chaud avec le développement Spring Boot
Liaison de base de données avec doma2 (Spring boot)
Elastic Beanstalk (Java) + Spring Boot + https
Programmation Spring Boot avec VS Code
Jusqu'à "Hello World" avec Spring Boot
Créer une application d'enquête avec Spring Boot
Obtenez des résultats de validation avec Spring Boot
(Intellij) Hello World avec Spring Boot
Créez une application avec Spring Boot
Google Cloud Platform avec Spring Boot 2.0.0
Développement HTML5 par Java avec TeaVM
J'ai essayé GraphQL avec Spring Boot
À partir de Spring Boot 0. Utilisez Spring CLI
J'ai essayé Flyway avec Spring Boot
Prise en charge de CORS avec Angular + Rest (Java)
La coopération des messages a commencé avec Spring Boot
Une histoire sur un projet Spring Boot écrit en Java qui prend en charge Kotlin
[LINE BOT] J'ai créé un Ramen BOT avec Java (Maven) + Heroku + Spring Boot (1)
Traitement lors du démarrage d'une application avec Spring Boot
[Java] [Spring] Spring Boot Mystérieux hamarinet d'injection de dépendances