【问题标题】:Joomla invalid token messageJoomla 无效令牌消息
【发布时间】:2013-02-23 23:47:01
【问题描述】:

自从这项新的欧盟 cookie 隐私法出台后,我不得不在我的网站上实施一个插件来阻止我网站上的所有 cookie,直到用户接受。 这里的问题是,一些用户不接受 cookie,但即便如此,他们还是尝试登录,然后他们得到带有无效令牌消息的空白页面。该无效令牌消息没有任何好处,我想将收到此消息的用户重定向到 ustom 页面,我设法找到了代码,但我只是不知道如何更改它以重定向用户,代码如下:

function login()
    {
        // Check for request forgeries
        JRequest::checkToken('request') or jexit( 'Invalid Token' );

        global $mainframe;

        if ($return = JRequest::getVar('return', '', 'method', 'base64')) {
            $return = base64_decode($return);
            if (!JURI::isInternal($return)) {
                $return = '';
            }
        }

我相信我必须使用“标题:位置”的东西,但只是不知道如何在当前代码上实现它。

希望有人能给我指点

最好的问候

【问题讨论】:

    标签: joomla token


    【解决方案1】:

    您可以使用 Joomla 重定向功能。

    function login()
        {
            // Check for request forgeries
            if(!JRequest::checkToken('request')) {
                $app = JFactory::getApplication();
                $app->redirect('index.php', 'Invalid token. You must accept cookies in order to use this website'); 
            }
    
            global $mainframe;
    
            if ($return = JRequest::getVar('return', '', 'method', 'base64')) {
                $return = base64_decode($return);
                if (!JURI::isInternal($return)) {
                    $return = '';
                }
            }
    

    【讨论】:

    • 非常感谢 Marko,这很有效,但我真的很想将用户重定向到自定义页面,在那里我可以创建一个很好的警告,例如自定义“404 页面未找到”。顺便说一句,我注意到您删除了 jexit 代码,表单仍然安全吗?感谢您的宝贵时间
    • 你可以设置任何你想重定向的链接,如果你以http开头,它会重定向到一个外部页面,那么为什么不把它改成你的自定义页面呢?我删除了jexit,因为这就像die(),但有清除会话等
    • 好的,我会尝试使用您的代码并回复结果。非常感谢马尔科。
    • 抱歉耽搁了,它就像一个魅力。少了一个头痛。非常感谢您的帮助!!
    猜你喜欢
    • 2013-09-29
    • 1970-01-01
    • 1970-01-01
    • 2021-08-19
    • 1970-01-01
    • 1970-01-01
    • 2012-12-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多