Php 仅通过本地主机限制执行

Php 仅通过本地主机限制执行,php,localhost,Php,Localhost,这可能是一个奇怪的问题。我在一个公共网站上有一个php文件,在那里我可以访问服务器。目前,我们不需要为此文件执行设置Cron作业。但是,我需要仅通过localhost限制此文件的执行。我不知道该怎么做。有没有办法检测请求是否为localhost?我是说用PHP。或者我需要通过服务器的安全设置或防火墙来处理此问题?我的意思是,您希望只从服务器执行脚本,而不是从另一台主机通过web执行脚本。您有两个选择: 选项1 将其移出public\u html文件夹。你没有理由不选择这个选项,除非有什么事情阻止

这可能是一个奇怪的问题。我在一个公共网站上有一个php文件,在那里我可以访问服务器。目前,我们不需要为此文件执行设置Cron作业。但是,我需要仅通过localhost限制此文件的执行。我不知道该怎么做。有没有办法检测请求是否为localhost?我是说用PHP。或者我需要通过服务器的安全设置或防火墙来处理此问题?

我的意思是,您希望只从服务器执行脚本,而不是从另一台主机通过web执行脚本。您有两个选择:

选项1

将其移出
public\u html
文件夹。你没有理由不选择这个选项,除非有什么事情阻止你这么做。那么,

选项2:

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

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

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

//your code

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

我假定您的意思是希望仅从服务器执行脚本,而不是从其他主机通过web执行脚本。您有两个选择:

选项1

将其移出
public\u html
文件夹。你没有理由不选择这个选项,除非有什么事情阻止你这么做。那么,

选项2:

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

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

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

//your code

这样可以确保脚本仅在从命令行调用时运行,而不是通过web调用。

您可以像这样检查IP地址:

if($_SERVER["REMOTE_ADDR"]!=$_SERVER["SERVER_ADDR"])
{ 
exit;
}

您可以像这样检查IP地址:

if($_SERVER["REMOTE_ADDR"]!=$_SERVER["SERVER_ADDR"])
{ 
exit;
}

你控制服务器吗?我的意思是你可以通过ssh访问吗?$hostname=`hostname`;或将特定变量添加到环境中。您将根据环境中是否存在此变量来运行脚本。如果您的意思是您只希望能够从服务器访问脚本,只需将其移出
public\u html
文件夹即可。您是通过服务器还是通过CLI来运行脚本?该站点是使用Zend开发的。因为我已经配置了virtualhost,所以我的URL类似于expo.local:81/import/user。我想知道如何通过命令行访问这个位置。谢谢。你能控制服务器吗?我的意思是你可以通过ssh访问吗?$hostname=`hostname`;或将特定变量添加到环境中。您将根据环境中是否存在此变量来运行脚本。如果您的意思是您只希望能够从服务器访问脚本,只需将其移出
public\u html
文件夹即可。您是通过服务器还是通过CLI来运行脚本?该站点是使用Zend开发的。因为我已经配置了virtualhost,所以我的URL类似于expo.local:81/import/user。我想知道如何通过命令行访问这个位置。谢谢。这个网站是用Zend开发的。因为我已经配置了virtualhost,所以我的URL是这样的。我想知道如何通过命令行访问这个位置。谢谢。这个网站是用Zend开发的。因为我已经配置了virtualhost,所以我的URL是这样的。我想知道如何通过命令行访问这个位置。谢谢