每次我登录到管理的Joomla我得到以下错误:的Joomla 3无效的令牌错误
The most recent request was denied because it contained an invalid security token. Please refresh the page and try again.
而且我可以得到管理部分的唯一途径是回到页面或2,我英寸。什么可能导致这个真正恼人的行为?
我使用K2运行Joomla 3.1.5。
每次我登录到管理的Joomla我得到以下错误:的Joomla 3无效的令牌错误
The most recent request was denied because it contained an invalid security token. Please refresh the page and try again.
而且我可以得到管理部分的唯一途径是回到页面或2,我英寸。什么可能导致这个真正恼人的行为?
我使用K2运行Joomla 3.1.5。
似乎这个问题得到了很多意见,所以这里是我想出来处理令牌错误的解决方案。由于看到错误对用户可能没有任何意义,因此我想将用户登录并将令牌错误重定向到主页。我能做到的唯一方法就是使用插件。
贷给joomunited.com为原始令牌拦截器插件,可以找到here。
这是我的修改版本,其中包括用户注销和重定向到主页的消息。希望这可以帮助!
tokeninterceptor.php:
class PlgSystemTokeninterceptor extends JPlugin
{
public function __construct(&$subject, $config = array())
{
parent::__construct($subject, $config);
$app = JFactory::getApplication();
if (($app->isSite() && $this->params->get('use_frontend')) || ($app->isAdmin() && $this->params->get('use_backend')))
{
register_shutdown_function(array($this,'redirectToHome'));
}
}
public function redirectToHome()
{
$content = ob_get_contents();
if($content == JText::_('JINVALID_TOKEN') || $content == 'Invalid Token')
{
$app = JFactory::getApplication();
if (!JFactory::getUser()->guest)
{
$app->logout();
}
$app->redirect(JURI::base().'index.php?invalid_token=true');
return false;
}
}
function onAfterInitialise()
{
$app = JFactory::getApplication();
$invalid_token = $app->input->get('invalid_token', 'false');
if ($invalid_token == 'true')
{
$app->enqueueMessage(JText::_('JINVALID_TOKEN'), 'warning');
}
return true;
}
}
这是因为如果你点击了两次,并提交您的登录第二次:
但你已经登录了第一个,所以你可以使用管理员。
一些插件可能导致这种情况;并且自从您登录后,我想您可以排除缓存。
发生这种情况的原因很多,其中之一是登录页面在一夜之间打开,然后在第二天登录。 我会假设浏览器缓存也可能导致此问题。 – Eoin
我们的托管客户之一有他的Joomla 3.3.X这个问题。
登录管理员在显示“无效安全”消息之前加载了很长时间。
我按下了我的浏览器,并能够登录。
我清除了所有缓存,升级到最新版本,更改密码,问题就消失了。
当您要退出Joomla admin时,不要忘记始终使用“注销”选项,而不仅仅关闭浏览器。
如果客户端很快就会返回相同的错误,我将进行更新。
我刚刚删除了对索引的调用。在结尾处的url
即。
http://www.wwf.org/english_site/administrator/index.php
现在...删除的index.php
和网址看起来应该像
http://www.wwf.org/english_site/administrator/
...这应该修复它,和抱歉,如果没有为你,因为它为我做了。
谢谢......修改我们的意见,然后重定向回登录页面,并显示:“您的会话已过期。”而不是默认(对访客无用)“无效令牌” –