ILIAS  trunk Revision v11.0_alpha-2662-g519ff7d528f
ilWhiteListUrlValidator Class Reference
+ Collaboration diagram for ilWhiteListUrlValidator:

Public Member Functions

 __construct (private string $url, array $whitelist)
 
 isValid ()
 

Private Member Functions

 isValidDomain (string $domain)
 

Private Attributes

array $whitelist
 

Detailed Description

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

Constructor & Destructor Documentation

◆ __construct()

ilWhiteListUrlValidator::__construct ( private string  $url,
array  $whitelist 
)
Parameters
list<string>$whitelist

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

References $whitelist.

30  {
31  $this->whitelist = array_filter(array_map(static function (string $domain): string {
32  return trim($domain); // Used for trimming and type validation (strict primitive type hint)
33  }, $whitelist));
34  }

Member Function Documentation

◆ isValid()

ilWhiteListUrlValidator::isValid ( )

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

References isValidDomain(), and null.

59  : bool
60  {
61  $redirectDomain = parse_url($this->url, PHP_URL_HOST);
62  if (null === $redirectDomain) {
63  return false;
64  }
65 
66  return $this->isValidDomain($redirectDomain);
67  }
while($session_entry=$r->fetchRow(ilDBConstants::FETCHMODE_ASSOC)) return null
+ Here is the call graph for this function:

◆ isValidDomain()

ilWhiteListUrlValidator::isValidDomain ( string  $domain)
private

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

Referenced by isValid().

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

Field Documentation

◆ $whitelist

array ilWhiteListUrlValidator::$whitelist
private

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

Referenced by __construct().


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