From da245d5794e870b2a6474dba1980ae821b109faa Mon Sep 17 00:00:00 2001 From: Espen Waaga <36693523+espenwaaga@users.noreply.github.com> Date: Mon, 4 Nov 2024 10:53:15 +0100 Subject: [PATCH] =?UTF-8?q?Input=20validering:=20Utvider=20regex=20som=20b?= =?UTF-8?q?lir=20brukt=20ved=20inputvalidering=20i=20=E2=80=A6=20(#1391)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Input validering: Utvider regex som blir brukt ved inputvalidering i saksbehandlingssystemet --- .../nav/vedtak/util/InputValideringRegex.java | 18 +++--------------- .../vedtak/util/InputValideringRegexTest.java | 9 ++++++--- 2 files changed, 9 insertions(+), 18 deletions(-) diff --git a/felles/util/src/main/java/no/nav/vedtak/util/InputValideringRegex.java b/felles/util/src/main/java/no/nav/vedtak/util/InputValideringRegex.java index 891576127..75d13d1db 100644 --- a/felles/util/src/main/java/no/nav/vedtak/util/InputValideringRegex.java +++ b/felles/util/src/main/java/no/nav/vedtak/util/InputValideringRegex.java @@ -6,14 +6,11 @@ public class InputValideringRegex { private static final String ALFABET_ENGELSK = "a-zA-Z"; private static final String ALFABET_NORSK = ALFABET_ENGELSK + "æøåÆØÅ"; - private static final String ALFABET_ALLE = "\\p{L}"; private static final String TALL = "0-9"; - private static final String ANDRE_TEGN_NAVN = "\\p{Blank}.'\\-\\–"; // eksempler: Jan-Ole O'Brian Jr. - private static final String ANDRE_TEGN_ADRESSE = "/\\p{Space}"; // eksempler: c/o - private static final String TEGN_NAVN = ALFABET_ALLE + ANDRE_TEGN_NAVN; - private static final String TEGN_ADRESSE = TEGN_NAVN + TALL + ANDRE_TEGN_ADRESSE; - private static final String TEGN_FRITEKST = TEGN_ADRESSE + "%§\\!?@_()+:;,=\"&\\p{Sc}"; + private static final String TEGN_NAVN = "\\p{L}\\p{M}\\p{Z}\\p{P}"; // eksempler: Jan-Ole O'Brian Jr. + private static final String TEGN_ADRESSE = "\\p{N}\\p{L}\\p{M}\\p{Z}\\p{P}\n\t"; // eksempler: c/o + private static final String TEGN_FRITEKST = "\\p{N}\\p{L}\\p{M}\\p{Z}\\p{Cf}\\p{P}\\p{Sc}\\p{Sk}\n\t+="; /** * Bruk dette mønsteret for å validere koder i kodeverk. @@ -55,15 +52,6 @@ public class InputValideringRegex { */ public static final String FRITEKST = REGEXP_START + TEGN_FRITEKST + REGEXP_SLUTT; - /** - * Bruk dette mønsteret for å validere fritekst til brev. - *

- * Godtar i tillegg til alt som er tillatt i navn og adresser også flere andre tegn som er relevante. - *

- * Godtar ikke større-enn og mindre-enn tegn da disse kan misbrukes til å gjøre XSS-angrep - */ - public static final String FRITEKST_BREV = REGEXP_START + TEGN_FRITEKST + "\\p{Graph}\\p{M}\\p{N}\\p{P}\\p{Zl}\\p{Zp}" + REGEXP_SLUTT; - /** * Bruk dette mønsteret for å validere BASE64 "URL and Filename safe". * diff --git a/felles/util/src/test/java/no/nav/vedtak/util/InputValideringRegexTest.java b/felles/util/src/test/java/no/nav/vedtak/util/InputValideringRegexTest.java index 9d732aac3..b5c9f3aaa 100644 --- a/felles/util/src/test/java/no/nav/vedtak/util/InputValideringRegexTest.java +++ b/felles/util/src/test/java/no/nav/vedtak/util/InputValideringRegexTest.java @@ -44,9 +44,11 @@ void skal_matche_adreser() { } @Test - void skal_ikke_tillate_diverse_som_adresse() { - assertThat("