2010-03-15 45 views

回答

2
  1. 一)爲了限制訪問您的控制器功能,你shold使用私有函數聲明的例子:

功能_example_function(){...}使用下劃線!

這種方式不可能通過URL調用該函數。

  1. b)限制訪問控制器中函數的其他簡單方法是使用會話變量和狀態來阻止訪問。

2)是的,你可以使用cron來運行功能只需要調用的網址:

http://host/controller_name/FUNCTION

問候,
佩德羅

0

我有一個巨大的控制器 codeigniter,有許多功能。我想要限制訪問某些 函數。我應該如何繼續?

您可以使用某些基於會話的訪問控制來限制對某些控制器 - >功能的訪問。在函數的開始,你可以放置代碼if($ _ SESSION ['user']!='xyz')exit('access denied');

我可以使用 cron守護進程調用函數嗎?

是的,你可以調用在cron任何控制器功能使用此命令 wget的https://www.example.com/controller-name/function-name

或者我應該把這些功能在其他控制器? 如果代碼變得非常大並且變得難以管理,那麼重構代碼總是一個好主意。

0

另一種方法是使用受保護的命名空間。當我嘗試調用一個被標記爲受保護的函數時,我可以在PHP代碼中使用它,但試圖通過瀏覽器加載它時,我收到一個404.

當然,將它標記爲私有也可以,但是你會失去在班級擴展中使用該功能的能力。在處理核心擴展時,會有很多問題。

與羅馬

相關問題