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

Php 仅通过使用codeigniter的链接访问功能,php,codeigniter,codeigniter-2,Php,Codeigniter,Codeigniter 2,我有一个小系统,其中有一个链接可以激活或取消激活用户 所以我有我的函数,它列出了用户 function users() { //the code } 还有一个函数,它接受第三个uri段,即id,并将用户设置为已激活或已停用 function action_settings() { // the code } 我想确保仅通过功能用户访问操作设置,不允许任何用户直接访问该功能 那么链接呢 localhost/motivators/action_settings/25 必须只能通过来自的链接访问

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

所以我有我的函数,它列出了用户

function users()
{
//the code
}
还有一个函数,它接受第三个uri段,即id,并将用户设置为已激活或已停用

function action_settings()
{
// the code
}
我想确保仅通过功能用户访问操作设置,不允许任何用户直接访问该功能

那么链接呢

localhost/motivators/action_settings/25
必须只能通过来自的链接访问

localhost/motivators/users/

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

您可以做的是提供
uri->uri\u字符串作为
操作\u字符串
函数(方法)的参数并对其进行分析,检查它是否包含
激励因素/用户/
或仅包含
用户
,然后继续执行
操作字符串
过程。否则,请不要尝试。

尝试内部函数操作\u设置()

也可以是:

function action_settings(){

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

 //activate user
}

功能用户与操作设置是否在同一控制器中?@mamdouhalramadan yep。。然后,两者都在同一个控制器中。检查我的答案:-)您是否尝试过referer实现?
function action_settings(){

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

 //activate user
}