【问题标题】:Cron Kohana action and prevent CSRFCron Kohana 行动并防止 CSRF
【发布时间】:2011-09-30 14:44:15
【问题描述】:

我需要通过 cron 调用 Kohana 操作。我可以使用此代码仅限制服务器 IP:

$allowedIps = array('127.0.0.1','::1');
if(in_array($_SERVER['REMOTE_ADDR'],$allowedIps))

我是否需要 CSRF 预防,例如令牌?服务器是Parallel的VPS。我认为网络上不会有任何用户浏览其他页面,从而使他们容易受到 CSRF 的影响。

如果需要,我能想到防止这种情况的唯一方法是在 Kohana 之外创建一个由 cron 调用的不可访问的 PHP 脚本,生成一个令牌并保存到平面文件,然后将该令牌通过外部传递给 Kohana包括使用这个

http://forum.kohanaframework.org/discussion/1255/load-kohana-from-external-scriptapp/p1

【问题讨论】:

    标签: cron kohana csrf


    【解决方案1】:

    如果要通过本地计算机调用脚本(根据您的代码示例),那么您可以通过确保通过 CLI 调用代码来简化它。

    if (Kohana::$is_cli)
    {
        // Run function
    }
    

    至于 CSRF 令牌,您不需要它们。 CSRF 的工作原理是利用某人单击代表他们发起操作的链接。由于您无法通过浏览器访问 cron 控制器/操作(您不应该能够),因此您无需担心。

    【讨论】:

      【解决方案2】:

      我很确定您想将this module 用于任何与 CLI 相关的任务。从 3.3 版本开始,它可能会作为官方的 Kohana 模块包含在内,因为它非常受欢迎和受支持。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-01-27
        • 2014-04-21
        • 1970-01-01
        • 2010-12-19
        • 1970-01-01
        • 2017-10-30
        相关资源
        最近更新 更多