ILIAS  release_10 Revision v10.1-43-ga1241a92c2f
ilWhiteListUrlValidator Class Reference

Class ilWhiteListUrlValidator. More...

+ Collaboration diagram for ilWhiteListUrlValidator:

Public Member Functions

 __construct (private string $url, array $whitelist)
 ilWhiteListUrlValidator constructor. More...
 
 isValid ()
 

Private Member Functions

 isValidDomain (string $domain)
 

Private Attributes

array $whitelist
 

Detailed Description

Constructor & Destructor Documentation

◆ __construct()

ilWhiteListUrlValidator::__construct ( private string  $url,
array  $whitelist 
)

ilWhiteListUrlValidator constructor.

Parameters
string[]$whitelist

Definition at line 34 of file class.ilWhiteListUrlValidator.php.

References $whitelist.

35  {
36  $this->whitelist = array_filter(array_map(static function (string $domain): string {
37  return trim($domain); // Used for trimming and type validation (strict primitive type hint)
38  }, $whitelist));
39  }

Member Function Documentation

◆ isValid()

ilWhiteListUrlValidator::isValid ( )

Definition at line 64 of file class.ilWhiteListUrlValidator.php.

References isValidDomain().

64  : bool
65  {
66  $redirectDomain = parse_url($this->url, PHP_URL_HOST);
67  if (null === $redirectDomain) {
68  return false;
69  }
70 
71  return $this->isValidDomain($redirectDomain);
72  }
+ Here is the call graph for this function:

◆ isValidDomain()

ilWhiteListUrlValidator::isValidDomain ( string  $domain)
private

Definition at line 41 of file class.ilWhiteListUrlValidator.php.

Referenced by isValid().

41  : bool
42  {
43  foreach ($this->whitelist as $validDomain) {
44  if ($domain === $validDomain) {
45  return true;
46  }
47 
48  $firstChar = $validDomain[0];
49  if ('.' !== $firstChar) {
50  $validDomain = '.' . $validDomain;
51  }
52 
53  if ((strlen($domain) > strlen($validDomain)) && substr(
54  $domain,
55  (0 - strlen($validDomain))
56  ) === $validDomain) {
57  return true;
58  }
59  }
60 
61  return false;
62  }
+ Here is the caller graph for this function:

Field Documentation

◆ $whitelist

array ilWhiteListUrlValidator::$whitelist
private

Definition at line 28 of file class.ilWhiteListUrlValidator.php.

Referenced by __construct().


The documentation for this class was generated from the following file: