0

我有一个小系统,其中有一个链接可以激活或停用用户..

所以我有列出用户的功能

function users()
{
//the code
}

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

function action_settings()
{
// the code
}

我想确保仅通过函数用户访问 action_settings,并且不允许任何用户直接访问该函数。

所以链接

localhost/motivators/action_settings/25

必须只能通过以下链接访问

localhost/motivators/users/

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

4

2 回答 2

1

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

于 2013-01-12T17:09:32.790 回答
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
}
于 2013-01-12T17:15:07.013 回答