PHP:php_sapi_name() 安全吗(用户可以操纵它)吗?

标签 php security

用户能否操纵 php_sapi_name() 返回的值?

我有一个看起来像这样的脚本:

if( php_sapi_name() !== "cli" ){
   die( "NoAccess" );
}

// Do some admin stuff

此脚本只能(!)通过命令行调用。上面的代码安全吗?或者有人可以通过 HTTP 调用脚本并在 if 条件之外执行它吗?

最佳答案

php_sapi_name() 的返回值是可以安全依赖的。它不是从用户数据生成的。

如果您不希望从您的网络服务器调用此脚本,则您不应该让您的网络服务器访问该脚本。如果您关心安全,则根本无法访问此脚本。

您还提到了 .htaccess...不要使用它,在别处使用适当的配置文件。 .htaccess 必须为每个请求加载和解析,效率不高。

关于PHP:php_sapi_name() 安全吗(用户可以操纵它)吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41558102/

相关文章:

java - 如何清理 HttpServletRequest 中 getCookies()、getRequestURL() 的返回值?

java - 功能标记与授权

php - 在 phpspreadSheet 中设置日期格式的单元格

php - 如何解决 php linux 中的 302 header 警告?

php - 为什么主管无法启动程序?

php - 子类异常

iphone - 检测我的 iPhone 应用程序中的安全漏洞的流程

javascript - 检查表中的所有数据值

java - Spring - 强制 bean 属性来自 post 变量

java - 使用替代摘要方法配置基于容器的身份验证