Prestashop无法登录admin

时间:2012-07-04 20:24:32

标签: redirect login admin prestashop

几天前,我无法访问基于prestashop平台的网站管理面板。 输入登录名和密码后,我再次被重定向到登录页面,一切都重复了。

该网站托管在专用服务器上,我正在开发的其他一些prestashop网站也是托管的。在尝试访问这些网站上的管理面板后,我得到了相同的“错误”。

您如何看待,有什么问题?

Prestashop ver。:1.4.7.3和1.4.8.2

服务器:CentOs,PHP

12 个答案:

答案 0 :(得分:19)

以下是您可以尝试的一些事项:

1 /清除浏览器缓存和Cookie

2 /尝试使用Firefox而不是Chrome (这似乎有一些意想不到的问题)

3 /检查PS_SHOP_DOMAIN表格中的PS_SHOP_DOMAIN_SSLps_configuration

4 /手动清除智能缓存:删除tools/smarty/compiletools/smarty/cache

中的所有文件 classes/Cookie.php中的

5 /禁用IP检查(这会导致动态IP出现许多问题): 在isLoggedBack()中,删除或评论第四个条件:

AND (!isset($this->_content['remote_addr']) OR $this->_content['remote_addr'] == ip2long(Tools::getRemoteAddr()) OR !Configuration::get('PS_COOKIE_CHECKIP'))

6 /使Cookie的过期时间缩短(IE可能会出现Cookie时间最长的问题):在classes/Cookie.php构造函数中,

设置:$this->_expire = isset($expire) ? (int)($expire) : (time() + 3600);

而不是$this->_expire = isset($expire) ? (int)($expire) : (time() + 1728000);

答案 1 :(得分:3)

我花了很多时间调试这个。我的计算机上安装了prestashop。我的情况如下,您应手动导航到以下内容:

< domain >/admin/index.php

答案 2 :(得分:1)

我遇到了和其他人一样的问题。

我能够通过IE登录但不能登录Firefox。

我为纠正这个问题所做的是进入cookie管理器并删除所有cookie。

我知道这听起来有些陈词滥调,但没有其他工作。

我搜索了我的网站名称并查看了该Cookie,它的日期很长但不再有效。我的猜测是我损坏了cookie或者他们进行了IP匹配,因为在使用管理面板的过程中,我切换到我的手机浏览器检查一下。返回后,它只会循环登录页面,没有错误。

我认为他们需要从软件角度解决问题。

无论如何,在我删除了与我的网站相关的所有cookie之后,我立刻就回来了。它还解决了我在www.mysite.com和mysite.com上遇到的一个问题。我正在与技术支持人员交谈,因为有时它会起作用,而其他时候却不会。也许cookie还存储了www / non的哪个变体用于动态链接。我的DNS有时间解决,技术支持指责但不是那样。

不要只清除Cookie,手动删除您网站的Cookie。当我使用明确的cookie时,它没有删除很多cookie。我发现我的网站在清除cookie后仍然有9个cookie。无论是我的错误还是别的什么,我都不会知道。

祝所有人好运,并感谢其他建议。如果它返回,我会进入其他建议并报告回来。

答案 3 :(得分:1)

这对我有用:在adminstration&gt;偏好设置控制面板中,将“检查Cookie IP地址”设置为“否”。

http://xbfish.com/tag/auto-logout/

答案 4 :(得分:1)

我使用prestashop 1.4.8.2 我刚刚通过更改admin / login.php来调试我的后台登录循环 只需删除以下代码中看似无用的条件。

if ((empty($_SERVER['HTTPS']) OR strtolower($_SERVER['HTTPS']) == 'off')
     AND Configuration::get('PS_SSL_ENABLED'))

更改
 if (!Configuration::get('PS_SSL_ENABLED'))

我还清除了cookie并且bam工作了。我不知道它是否会弄乱其他东西,但我可以最后进入我的后台办公室。 和平!!

答案 5 :(得分:1)

在我的Apache Web服务器前面添加NGINX作为反向代理后,我遇到了同样的问题。

问题来自«检查cookie上的IP地址»参数设置为«»。由于我被管理员锁定而无法更改,因此我使用此SQL请求直接在数据库中执行此操作:

UPDATE ps_configuration SET value = 0 WHERE name='PS_COOKIE_CHECKIP';

PS:ps_是我的表格前缀,您可以根据自己的设置进行调整。

答案 6 :(得分:0)

可能会发生一些可能阻止旧密码工作的事情。一个可能是你的_COOKIE_KEY_改变了。

您可以尝试使用以下脚本生成新密码哈希。然后,您可以在xxxx_employee表中的数据库中替换它(其中xxxx_是您的表前缀)。我希望这对你有用。在任何情况下:保留旧哈希的备份。

这是一个小脚本:

<?php
require(dirname(__FILE__).'/config/config.inc.php');
echo Tools::encrypt($_REQUEST["pw"]);

完成后不要忘记从服务器中删除脚本!

答案 7 :(得分:0)

对于解决方案,请尝试以下操作:

  • 打开; phpMyAdmin,ps_configuration表

  • 找到PS_COOKIE_CHECKIP并将其设置为0

  • 清除所有缓存,然后重试,可能会解决。

您可以认为这与IP /网络问题有关。

答案 8 :(得分:-1)

如果您有工作网站,可以登录。也许你可以将用户从工作复制到非工作,如果可行,则可以复制。

答案 9 :(得分:-1)

我知道这已经过时了,但它可以帮助某人,打开/config/config.inc.php来打开错误。

寻找这一行:

ini_set('display_errors', 'off');

将其更改为:

ini_set('display_errors', 'on');

编辑:改变了看似错字

答案 10 :(得分:-1)

有时,当我使用非www配置商店域名时,我会收到此错误,例如,我尝试使用www访问。我想强迫所有用户拥有相同的网址,所以我强迫.htaccess进入www:

RewriteCond %{HTTP_HOST} !^www.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]

答案 11 :(得分:-1)

如果您已从本地版本或其他域移动prestashop,则除了经典之外。

update ps_configuration table set value="www.myshop.com" where name ="PS_SHOP_DOMAIN";

update ps_configuration table set value="www.myshop.com" where name ="PS_SHOP_DOMAIN_SSL";

检查名为ps_shop_url的表格,并更新domaindomain_ssl字段以及physical_url

示例:

update ps_shop_url set domain='www.myshop.com', domain_ssl='www.myshop.com', physical_url='/';