Si no hay referer dice que no está en la lista.PHP:
<?php
$host = '';
$blackList = array( //SIN WWW
'google.com',
'youtube.com'
);
if(isset($_SERVER['HTTP_REFERER']))
$host = str_replace('www.', '', parse_url($_SERVER['HTTP_REFERER'])['host'])
;
if($host != '' && !empty(array_search($host, $blackList)))
echo "$host está en la lista negra"
;else
echo "$host no está en la lista negra"
;