我的服务器上有一些 PHP 脚本,用于定期的 cron 作业(例如,用于每日和谐和更新排行榜)。
为了防止外部人员手动运行这些脚本(http://url/script.php例如通过在浏览器中运行),我包含了以下代码以在运行实际脚本之前检查 IP 地址。其中XX.XX.XX.XX代表我自己网络的IP地址。
$remote = isset($_SERVER["REMOTE_ADDR"]) ? $_SERVER["REMOTE_ADDR"] : '127.0.0.1';
$whitelist = array('XX.XX.XX.XX', '127.0.0.1');
if (!in_array($remote, $whitelist))
{
exit;
}
所以现在我有以下问题:
这有多安全?
有什么风险?
我怎样才能使它更安全?
还有其他(更好的)解决方案吗?
附言。我之前的问题已关闭,因为有人认为这个问题与PHP IP Address Whitelist with Wildcards重复。但我不是这样的!这个问题是关于在白名单中使用通配符,而这个问题是关于这个解决方案的安全性和风险。
不负相思意
神不在的星期二