首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CakePHP检查referer

CakePHP检查referer
EN

Stack Overflow用户
提问于 2011-07-24 17:47:29
回答 3查看 8.4K关注 0票数 2

我有以下代码:

代码语言:javascript
复制
function success()
    {
        if(!$this->referer(array('controller'=>'contact','action'=>'index')))
        {
            $this->redirect(array('controller'=>'contact','action'=>'index'));
        }
    }

我正在尝试检查用户是否已经从索引操作访问了成功页面,如果没有,则将它们发送回索引方法,这样,如果他们以前没有提交一些关于索引操作的数据,他们就不能查看成功页面。

然而,它不起作用,因为用户仍然可以访问成功页面,即使他们没有首先访问索引页面...

有人能帮上忙吗?谢谢

EN

回答 3

Stack Overflow用户

发布于 2011-07-24 20:04:59

代码语言:javascript
复制
function success()
{
    if($this->referer() != Router::url(array('controller'=>'contact','action'=>'index')))
    {
        $this->redirect(array('controller'=>'contact','action'=>'index'));
    }
}
票数 3
EN

Stack Overflow用户

发布于 2013-12-05 17:17:28

尝试在Router::url的末尾添加true,函数获取完整的url:

代码语言:javascript
复制
if($this->referer() != Router::url(array('controller'=>'contact','action'=>'index'),true))
票数 3
EN

Stack Overflow用户

发布于 2011-07-24 19:07:43

我想那样是行不通的。现在,您只需使用该代码设置默认referer。尝试如下所示:

代码语言:javascript
复制
if($this->referer() != Router::url(array('controller'=>'contact','action'=>'index')))

编辑:更正代码

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6806101

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档