Você pode verificar o cabeçalho Referenciador de HTTP em .htaccess
. O referenciador indica o endereço da página da web que está vinculada ao recurso que está sendo buscado - para que você possa verificar se o remetente aponta para uma página no domínio correto.
Para mais detalhes, veja por exemplo esta pergunta: controla o referenciador do apache para restringir os downloads no arquivo htaccess
Aviso:
Isso é fácil de contornar se as pessoas souberem o nome do domínio que você está verificando. A maioria dos navegadores e ferramentas de download permite definir o referenciador diretamente, portanto, se você sabe que somente os referenciadores que apontam para http://foo.example/
são permitidos, basta definir seu referenciador como http://foo.example/blah
e a verificação de acesso não o bloqueará.
Se você quiser segurança séria, a única opção sensata é a autenticação adequada (por nome de usuário / senha ou por certificado), combinada com um site somente HTTPS.