0, 'referer' => array() ) ); } /** * Apply the blacklist filter if active * * @return TRUE if referer matches blacklist. * * @since 1.0.0 */ public static function apply_blacklist_filter() { /* Skip if blacklist is inactive */ if (self::$_options['active_referer'] != 1) { return false; } /* Extract relevant domain parts */ $referer = strtolower( ( isset($_SERVER['HTTP_REFERER']) ? parse_url($_SERVER['HTTP_REFERER'], PHP_URL_HOST) : '' ) ); $referer = explode('.', $referer); if( count($referer) >1 ) $referer = implode('.', array_slice($referer, -2)); else $referer = implode('.', $referer); /* Get blacklist */ $blacklist = self::$_options['referer']; /* Check blacklist */ return in_array($referer, $blacklist); } }