我正在寻找一个安全的解决方案,以确保我的PHP脚本通过shell(不是通过127.0.0.1)进行LOCALLY
e.g。
C:\php > php P:\ath\to\script.php
原因:cron或win任务调度程序将每月运行一次此脚本以生成一个令牌,该令牌授予对另一个页面的访问权限(MySQL的东西),我不希望外部客户端能够运行此脚本。
答案 0 :(得分:1)
正确答案:不要将网页无法访问的内容放到网络可访问的地方
但是,如果要检查,可以检查argv
数组的$_SERVER
键。如果存在,那么它是CLI调用(此数组的[0]
元素将保存脚本的名称)。即。
if(array_key_exists('argv', $_SERVER))
{
//cli call
}
else
{
//non-cli call
}
答案 1 :(得分:0)
您始终可以将脚本放在无法通过网络访问的目录中 如果不可能创建一个拒绝所有人访问的.htaccess文件。这样你就可以从机器上到达它,但不能从网上到达它。
order deny,allow
deny from all