仅通过localhost限制执行

问题描述 投票:0回答:2

这可能是一个奇怪的问题。我在一个公共网站上有一个php文件,我可以访问该服务器。目前我们不需要为此文件执行设置Cron作业。但是我需要通过localhost限制此文件的执行。我对如何做到这一点没有任何确切的想法。有没有办法检测请求是否是localhost?我的意思是PHP。或者我应该通过服务器的安全设置或防火墙来处理这个问题?

php localhost
2个回答
3
投票

我假设你的意思是你只想从服务器执行脚本,而不是通过其他主机的web。您有两种选择:

选项1

把它移出public_html文件夹。没有理由你不应该采取这个选择,除非有什么阻止你这样做。在这种情况下,

选项2:

将整个代码包装在以下if语句中

if (php_sapi_name() == 'cli')
{
   //your code
}

或者,

if (php_sapi_name() != 'cli')
   die();

//your code

这可确保您的脚本仅在从命令行调用时运行,而不是通过Web调用。


0
投票

你可以检查这样的IP地址:

if($_SERVER["REMOTE_ADDR"]!=$_SERVER["SERVER_ADDR"])
{ 
exit;
}
© www.soinside.com 2019 - 2024. All rights reserved.