簡単にできるし
$_SERVER['SCRIPT_NAME']が自ファイル名ならNG、セットされてなければ
ウェブ経由じゃないからNG、それ以外で実行できるようにすればいいじゃん
ほかにもいっぱい方法あるだろ