代码之家  ›  专栏  ›  技术社区  ›  Jagira

如何限制对codeigniter中特定函数的访问?

  •  2
  • Jagira  · 技术社区  · 14 年前

    我在codeigniter中有一个巨大的控制器,有很多功能。我想限制对某些功能的访问。我该怎么做?

    我可以用cron守护进程调用函数吗????

    或者我应该将这些函数放在另一个控制器中??

    3 回复  |  直到 12 年前
        1
  •  2
  •   Pedro    14 年前
    1. a)要限制对控制器中函数的访问,应使用私有函数声明示例:

    函数示例{…} 使用下划线!!

    这样就不可能通过url调用这个函数。

    1. b)限制对控制器中函数的访问的另一个简单方法是使用会话变量和状态来阻止访问。

    2.)是的,您可以使用cron运行函数,只需调用url:

    http://host/controller_name/FUNCTION

    当做,
    佩德罗

        2
  •  0
  •   shikhar    14 年前

    我有一个巨大的控制器 编码器点火器,具有多种功能。我 想限制访问某些 功能。我该怎么做?

    您可以使用一些基于会话的访问控制来限制对某些控制器的访问->仅限函数。在函数开始时,您可以放置类似if($\u session['user'])的代码!=“xyz”)退出(“拒绝访问”);

    我能用 密码守护程序????

    可以用这个命令调用cron中的任何控制器函数 WGET https://www.example.com/controller-name/function-name

    或者我应该将这些函数放在另一个控制器中?? 如果代码变得很大并且无法管理,那么重构代码总是一个好主意。

        3
  •  0
  •   user673046    12 年前

    另一种方法是使用受保护的命名空间。当我尝试调用一个标记为protected的函数时,我可以在php代码中使用它,但是当我试图通过浏览器加载它时,我收到了404。

    当然,将其标记为private也可以工作,但这样您就失去了在类的扩展中使用该函数的能力。在使用核心扩展时,这是一个很大的问题。

    铜 古罗马的