目前 ZenCart 最新版本是 1.5.1,在 1.5 版本后,ZenCart 就多了一项密码保护功能,后台的密码只能使用 90 天,90 天后自动过期。 这是强制人家修改密码,我觉得这功能有点鸡肋,而且很添乱,会修改密码的会很神经质的经常修改,像我这样不修改密码的,都是可悲的什么时候过期都忘记了,最最郁闷的是,它的数据库中的 md5 密码还加后缀,不是随便复制个通用的密码就可以用,所以每次我只能看着后台那个简陋的登陆界面抓耳挠腮。 今天已经是第三次遇到这个问题了,于是我决定把方法记录下来。 方法还是复制通用的密码的 MD5 格式,官方提供的。进入 phpMyAdmin,在对应的数据库下运行下面的 SQL 语句: DELETE FROM admin WHERE admin_name = 'Admin'; INSERT INTO admin (admin_name, admin_email, admin_pass, admin_profile) VALUES ('Admin', 'admin@localhost', '351683ea4e19efe34874b501fdbf9792:9b', 1); 如果你后台登陆名不是 Admin,那就得改成你的登录名,邮箱当然也要改。这个通用密码直接复制是不行的,必须清空整个 admin 项后再写入才有效。哦,对了,这个通用密码是:admin。 修改后用密码 admin 登陆后会提示你修改密码,当然,修改后的密码仍然是90天有效。 那有没有办法去掉这个 1.5 版本后的 ZenCart 这个 90 天的密码设定呢?老外提供了个办法,不知道管用不管用。 方法一:找到 admin/login.php 文件内的define('ADMIN_PASSWORD_EXPIRES_INTERVAL', strtotime('- 90 day'));,把里面的 90 改成大大的数字,比如 36500 ,嗯,100年应该够了。 方法二:找到 admin/includes/functions/admin_access.php 文件内的zen_check_for_password_problems() 函数,在函数下的第一行插入 return FALSE; 方法三:也是在方法二的这个文件里,修改某个函数里的天数,像方法一那样改的无限大,不过都没经过测试,就不要发了,还是用数据库修改法吧。 后面的三种方法你如果想测试,最后搞个 DEMO 站测试,因为老外是这么提示的,好像很严重的样子,英文我看不懂,但或许你懂得:
*** Warning: This change will violate the PCI status of your cart. You should only do this on test carts on your own PC or on carts which do not require PCI certification. ***
(责任编辑:最模板) |