Защита обычно по рефереру. Если задача скачать - ставим реферер бота-индексатора.
Если проверить:
Код:
<?php
$default_opts = array(
'http'=>array(
'method'=>"GET",
'header'=>"Referer: http://www.fakesite.com/proverka-hotlinka/",
)
);
stream_context_set_default($default_opts);
$url = 'http://analfucklover.com/gonzo.jpg';
print_r($headers = get_headers($url, 1));
if (preg_match('/200 OK$/', $headers[0])) {
echo 'Нет хотлинка';
}
else {
echo 'Есть хотлинк';
}
?>
Думаю, любое пыхыпы-быдло доработает, чтобы сосать ссылки из файла и делать аутпут на два файла - окей или не окей. Только наверное теряется смысл, если задача именно скачать.