我需要通过cron调用Kohana动作。我可以使用此代码仅限制服务器IP:
$allowedIps = array('127.0.0.1','::1');
if(in_array($_SERVER['REMOTE_ADDR'],$allowedIps))
我是否需要CSRF预防,如令牌?服务器是Parallel的VPS。我不认为网络上有任何用户浏览其他页面会使他们容易受到CSRF的影响。
如果需要,我能想到防止这种情况的唯一方法是在cron之外创建一个不可访问的PHP脚本,由cron调用,生成令牌并保存到平面文件,并通过外部将该令牌传递给Kohana包括使用这个
http://forum.kohanaframework.org/discussion/1255/load-kohana-from-external-scriptapp/p1
答案 0 :(得分:0)
如果要通过本地计算机调用脚本(根据您的代码示例),那么您可以通过确保通过CLI调用代码来简化脚本。
if (Kohana::$is_cli)
{
// Run function
}
对于CSRF令牌,您不需要它们。 CSRF的工作原理是利用某人点击一个代表他们发起行动的链接。由于您无法通过浏览器访问cron控制器/操作(您不应该这样做),因此您无需担心它。
答案 1 :(得分:0)
我非常确定您要将this module用于任何与CLI相关的任务。它可能会作为官方Kohana模块包含在3.3版本中,因为它非常受欢迎和支持。