根据API安全性,检测是否在命令行中调用PHP脚本是否可靠?
我们有一系列PHP脚本(正在生产中)将通过HTTP提供-客户端将使用cURL-但我们有时会在命令行中运行相同的脚本。
我们对每个端点的安全性要求每次调用都具有新的签名(基于共享的机密和其他请求参数散列到签名字符串中)。通过CLI调用端点时,是用于创建哈希的PITA。
假设允许任何可以登录服务器的人运行没有令牌和签名的脚本,使用php_sapi_name()
完全绕过我们的身份验证方案是否安全?例如:
if(php_sapi_name() == "cli") {
//skip authentication; let the script run
}
或者如果您实际上没有登录到服务器并通过CLI运行脚本,是否可以利用这种方式?