仅使用codeigniter通过链接访问功能

时间:2013-01-12 16:58:32

标签: php codeigniter codeigniter-2

我有一个小系统,其中有一个链接来激活或取消激活用户..

所以我的功能列出了用户

function users()
{
//the code
}

并且有一个函数采用第三个uri段作为id并将用户设置为激活或停用。

function action_settings()
{
// the code
}

我想确保只通过功能用户访问action_settings,并且不允许任何用户直接访问该功能。

所以链接

localhost/motivators/action_settings/25
只能通过

中的链接访问

localhost/motivators/users/

是否可以在Codeigniter中实现此限制?

2 个答案:

答案 0 :(得分:1)

您可以做的是将uri->uri_string作为参数提供给action_string函数(方法)并解析它以检查它是否包含motivators/users/users然后继续action_string进程。否则,不要。

答案 1 :(得分:1)

尝试内部函数action_settings():

function action_settings(){

 if($_SERVER['HTTP_REFERER'] != 'http://localhost/motivators/users'){
  //wrong referer
  exit();
 }

 //activate user
}

也可能是:

function action_settings(){

 if($_SERVER['HTTP_REFERER'] != base_url() . 'motivators/users'){
  //wrong referer
  exit();
 }

 //activate user
}