Bunu denermisiniz. Forumda küçük bir araştırmayla buldum.

<?
function kontrol($urls){
    foreach($urls as $key => $value){
        preg_match('@^(?:http://)?([^\s]+)@i', $_SERVER['HTTP_REFERER'], $matches);
        if($matches[1]==$value)
            return true;
    }
    return false;
}

if(!kontrol(array(
        'siteadi1.com/sayfa.php',//başında http olmayacak...
        'www.siteadi1.com/sayfa.php',//başında http olmayacak...
        'siteadi2.com',
            )
        )
)
die('izin yok');
?>
https://www.r10.net/2452365-post20.html