2013-02-23 150 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