PMA\libraries\config\Validator::validateTrustedProxies PHP Метод

validateTrustedProxies() публичный статический Метод

Validates TrustedProxies field
public static validateTrustedProxies ( string $path, array $values ) : array
$path string path to config
$values array config values
Результат array
    public static function validateTrustedProxies($path, $values)
    {
        $result = array($path => array());
        if (empty($values[$path])) {
            return $result;
        }
        if (is_array($values[$path]) || is_object($values[$path])) {
            // value already processed by FormDisplay::save
            $lines = array();
            foreach ($values[$path] as $ip => $v) {
                $v = Util::requestString($v);
                $lines[] = preg_match('/^-\\d+$/', $ip) ? $v : $ip . ': ' . $v;
            }
        } else {
            // AJAX validation
            $lines = explode("\n", $values[$path]);
        }
        foreach ($lines as $line) {
            $line = trim($line);
            $matches = array();
            // we catch anything that may (or may not) be an IP
            if (!preg_match("/^(.+):(?:[ ]?)\\w+\$/", $line, $matches)) {
                $result[$path][] = __('Incorrect value:') . ' ' . htmlspecialchars($line);
                continue;
            }
            // now let's check whether we really have an IP address
            if (filter_var($matches[1], FILTER_VALIDATE_IP, FILTER_FLAG_IPV4) === false && filter_var($matches[1], FILTER_VALIDATE_IP, FILTER_FLAG_IPV6) === false) {
                $ip = htmlspecialchars(trim($matches[1]));
                $result[$path][] = sprintf(__('Incorrect IP address: %s'), $ip);
                continue;
            }
        }
        return $result;
    }