目的は何でしょうか?
オペレーションミスを防ぎたいということであれば、yamadayamada さんの方法で良いと思います。
他のユーザーに実行させたくない、見せたくないということであれば、PHPスクリプトファイルのオーナーを(cronから起動するときの)実行ユーザーに、ファイルパーミッションを 744 (rwxr--r--) とか 700 (rwx------) にすれば良いです。ただし、オーナーのシェルからはPHPスクリプトを実行できてしまいます。
厳密に cron からのみ実行許可は、うまい方法が思いつかないのですが、親プロセスを辿って crond かどうかで判断するとか。
Linux でシェルスクリプトの例:
lang
1#!/bin/bash
2
3pid=$$
4while [ $pid -ne 1 ] ; do
5 ppid=`awk '{print $4}' /proc/$pid/stat`
6 pp_name=`awk '{print $2}' /proc/$ppid/stat`
7 echo "pid=$pid, ppid=$ppid $pp_name"
8 if [ "$pp_name" = "(crond)" ] ; then
9 echo "This process is executed by cron."
10 exit 0
11 fi
12 pid=$ppid
13done
14
15echo "This process is NOT executed by cron."
16exit 1
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。