Как я могу ограничить доступ к скриптам своего сайта для других?

У меня есть script, который генерирует аватар. Вот моя структура:

-folder1
   -scripts
       -MakeAvatar.php
   -img
       -avatar

Я использую его на других страницах, например:

$name = 'anything';
$hash = md5($name);
$input  = "http://localhost/folder1/scripts/MakeAvatar.php?hash=$hash";
$output = "../../folder1/img/avatar/".$name.".jpg";
file_put_contents($output, file_get_contents($input));

Как вы видите, каждый может получить доступ к этому script и сделать аватар:

http://localhost/folder1/scripts/MakeAvatar.php?hash=$hash

Как я могу посвятить этот script только для моего собственного сайта и запретить другим использовать его?

Ответ 1

Поместите скрипты за пределы веб-корня.

scripts
 -MakeAvatar.php
public (or whatever you call your webroot)
 -img
 -index.php

Это означает, что www.site.com отправляется на index.php, но вы не можете перейти к сценариям из браузера. Вы можете, однако, сделать: ../scripts/MakeAvatar.php (from index.php).