用户能否操纵 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/