Redirect Prestashop无法在管理员中登录

Redirect Prestashop无法在管理员中登录,redirect,login,admin,prestashop,Redirect,Login,Admin,Prestashop,几天前,我无法访问基于prestashop平台的网站上的管理面板。 输入登录名和密码后,我再次被重定向到登录页面,所有操作都重复了 该站点托管在专用服务器上,我正在开发的其他一些prestashop站点也托管在该服务器上。在尝试访问这些网站上的管理面板后,我得到了相同的“错误” 你认为呢,问题是什么 预应力版本:1.4.7.3和1.4.8.2 服务器:CentOs,PHP如果您有一个工作站点,您可以在其中登录。也许您可以将用户从工作状态复制到非工作状态,如果这样做有效,请确认。可能发生了一些事情

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

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

你认为呢,问题是什么

预应力版本:1.4.7.3和1.4.8.2


服务器:CentOs,PHP

如果您有一个工作站点,您可以在其中登录。也许您可以将用户从工作状态复制到非工作状态,如果这样做有效,请确认。

可能发生了一些事情,阻止您的旧密码工作。一种可能是你的饼干钥匙变了

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

下面是小脚本:

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

以下是一些您可以尝试的东西:

1/清除浏览器缓存和cookie

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

3/检查
PS\u-SHOP\u-DOMAIN
PS\u-SHOP\u-DOMAIN\u-SSL
中的
PS\u配置

4/手动清除smarty缓存:从
tools/smarty/compile
tools/smarty/cache

5/禁用
classes/Cookie.php
中的IP检查(这可能会导致动态IP出现许多问题): 在
isLoggedBack()
中,删除或注释第四个条件:

和(!isset($this->\u content['remote\u addr'])或$this->\u content['remote\u addr']==ip2long(Tools::getRemoteAddr())或!Configuration::get('PS\u COOKIE\u CHECKIP')

6/缩短Cookie的过期时间(即可能存在最长时间Cookie的问题):在
classes/Cookie.php
constructor中

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


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

我知道这很旧,但打开/config/config.inc.php可能会帮助某些人打开错误

寻找线索:

ini_set('display_errors', 'off');
将其更改为:

ini_set('display_errors', 'on');

编辑:改变了一个貌似打字错误的问题

我和其他人都有同样的问题

我可以通过IE登录,但不能通过firefox

我所做的补救措施是进入cookie manager并删除所有cookie

我知道这听起来很陈词滥调,但其他都没用

我搜索了我的网站名,并查看了cookie,它的日期很长,但不再活跃。我的猜测是我损坏了cookie,或者也许他们做了IP匹配,因为在使用管理面板的中间,我切换到我的手机浏览器检查一些东西。返回时,它只会循环登录页面,没有错误

我认为他们需要从软件的角度来解决这个问题

不管怎样,在我删除了所有与我的网站相关的cookies之后,我马上就回来了,没有问题。它还解决了我在www.mysite.com和mysite.com上遇到的一个问题。我在和技术支持人员交谈,因为有时它会工作,有时则不会。也许cookie还存储了用于动态链接的www/non的变体。我的DNS被允许有时间进行解析,技术支持人员对此表示谴责,但事实并非如此

不要只是清除cookies,手动删除你站点的cookies。当我使用clear Cookie时,它没有删除很多Cookie。我发现我的站点在清除cookies之后仍然设置了9个cookies。不管那是我的错误还是别的什么,我都不知道


祝大家好运,并感谢其他建议。如果它返回,我将进入其他建议并返回报告。

这是对我有效的方法:在“管理”>“首选项”控制面板中,将“检查Cookies IP地址”设置为“否”


例如,当我将shop domain配置为非www并尝试使用www访问时,有时会出现此错误。我喜欢强制所有用户使用相同的url,因此我强制.htaccess进入www:

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

如果您将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\u shop\u url
的表,并更新
domain
domain\u ssl
字段,以及
physical\u url

例如:

update ps_shop_url set domain='www.myshop.com', domain_ssl='www.myshop.com', physical_url='/';
我使用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,砰的一声,它成功了。我不知道它是否会弄乱其他东西,但我终于可以进入我的后台办公室了。
和平

在我的apacheweb服务器前面添加了一个NGINX作为反向代理之后,我遇到了同样的问题

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

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

PS:
PS\ucode>是我的表前缀,您可以根据自己的设置调整它。

我花了很多时间调试这个。在我的计算机上本地安装了prestashop。在以下情况下,您应该手动导航到以下位置:

< domain >/admin/index.php
/admin/index.php
要获得解决方案,请尝试以下方法:

  • 开放的;phpMyAdmin,ps_配置表

  • 查找,PS_COOKIE_CHECKIP并将其设置为0

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


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

PS 1.5<代码>5/禁用IP检查
:您可以转到
Admi,而不是手动编辑核心文件