From 55db406401e3c4137ebd97489393dade78b21c41 Mon Sep 17 00:00:00 2001 From: Joshua Ramon Enslin Date: Fri, 4 Sep 2020 00:46:45 +0200 Subject: [PATCH] Add wrappers for sanitizing URLs and mail addresses --- MD_STD_IN.php | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/MD_STD_IN.php b/MD_STD_IN.php index 9816e5e..4a648e5 100644 --- a/MD_STD_IN.php +++ b/MD_STD_IN.php @@ -136,4 +136,44 @@ final class MD_STD_IN { } + /** + * Sanitizes and validates a URL. An empty string passes. + * + * @param mixed $input Input string. + * + * @return string + */ + final public static function sanitize_url($input):string { + + if ($input === "") return $input; + + $output = \filter_var($input, FILTER_SANITIZE_URL); + if (\filter_var($input, FILTER_VALIDATE_URL) === false) { + throw new MDInvalidUrl("Invalid input URL"); + } + + return $output; + + } + + /** + * Sanitizes and validates an e-mail address. An empty string passes. + * + * @param mixed $input Input string. + * + * @return string + */ + final public static function sanitize_email($input):string { + + if ($input === "") return $input; + + $output = \filter_var($input, FILTER_SANITIZE_EMAIL); + if (\filter_var($input, FILTER_VALIDATE_EMAIL) === false) { + throw new MDInvalidEmail("Invalid input email address"); + } + + return $output; + + } + }