Anicky of Micropole Lyon Pole web
3/26/2016 - 5:32 PM

Indique si une URL indiquée est externe au site.

Indique si une URL indiquée est externe au site.

/**
 * Indique si une URL est externe au site.
 * @param string $url L'URL à examiner
 * @return boolean Un booléen indiquant si le site est externe
 */
function utils_check_external_url($url) {
    $external_url = FALSE;
    $url_parse = parse_url($url);
    if (isset($url_parse['query'])) {
        $params = explode('&', $url_parse['query']);
        foreach ($params as $param) {
            if ($param === 'external=1') {
                $external_url = true;
                break;
            }
        }
    }
    if ((!$external_url ) && (isset($url_parse['host']))) {
        $url_site = $_SERVER['HTTP_HOST'];
        if ($url_parse ['host'] != $url_site) {
            $external_url = TRUE;
        }
    }
    return $external_url;
}