2013-02-23 97 views
0

由于这个新的欧盟cookie隐私法出台,我不得不在我的网站上实施一个插件,阻止我网站上的所有cookie,直到用户接受为止。 这里的问题是,有些用户不接受cookie,但即使如此,他们尝试登录,然后他们拿到了无效令牌消息的空白页面。 Theres没有什么好的无效令牌消息,我想重定向那些得到这个消息的用户到一个USTOM页面,我设法找到代码,但我不知道如何改变它来重定向用户,继承人代码:Joomla无效令牌消息

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 = ''; 
      } 
     } 

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

希望有人能指出我的线索

问候

回答

2

你可以使用的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 = ''; 
      } 
     } 
+0

非常感谢Marko,工作,但我真的很想将用户重定向到一个自定义页面,在那里我可以创建一个像自定义“404页面未找到”的好警告。顺便说一下,我注意到你删除了jexit代码,表单是否仍然安全?感谢您的时间 – 2013-02-24 10:39:29

+0

你可以设置任何你想要重定向的链接,如果你用'http'启动它,它会重定向到一个外部页面,为什么不把它改成导致你的自定义页面呢?我删除了'jexit',因为这就像一个'死()',但与清除会话等 – 2013-02-24 10:46:57

+0

好吧,我会尝试玩你的代码,并回复结果。非常感谢Marko。 – 2013-02-24 11:15:19