我有一个小系统,其中有一个链接来激活或取消激活用户..
所以我的功能列出了用户
function users()
{
//the code
}
并且有一个函数采用第三个uri段作为id并将用户设置为激活或停用。
function action_settings()
{
// the code
}
我想确保只通过功能用户访问action_settings,并且不允许任何用户直接访问该功能。
所以链接
localhost/motivators/action_settings/25
只能通过中的链接访问
localhost/motivators/users/
是否可以在Codeigniter中实现此限制?
答案 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
}