ZenCart 1.5.x 后臺管理密碼過期修改辦法
目前 ZenCart 最新版本是 1.5.1,在 1.5 版本后,ZenCart 就多了一項(xiàng)密碼保護(hù)功能,后臺的密碼只能使用 90 天,90 天后自動過期。
這是強(qiáng)制人家修改密碼,我覺得這功能有點(diǎn)雞肋,而且很添亂,會修改密碼的會很神經(jīng)質(zhì)的經(jīng)常修改,像我這樣不修改密碼的,都是可悲的什么時候過期都忘記了,最最郁悶的是,它的數(shù)據(jù)庫中的 md5 密碼還加后綴,不是隨便復(fù)制個通用的密碼就可以用,所以每次我只能看著后臺那個簡陋的登陸界面抓耳撓腮。
今天已經(jīng)是第三次遇到這個問題了,于是我決定把方法記錄下來。
方法還是復(fù)制通用的密碼的 MD5 格式,官方提供的。進(jìn)入 phpMyAdmin,在對應(yīng)的數(shù)據(jù)庫下運(yùn)行下面的 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,那就得改成你的登錄名,郵箱當(dāng)然也要改。這個通用密碼直接復(fù)制是不行的,必須清空整個 admin 項(xiàng)后再寫入才有效。哦,對了,這個通用密碼是:admin。
修改后用密碼 admin 登陸后會提示你修改密碼,當(dāng)然,修改后的密碼仍然是90天有效。
那有沒有辦法去掉這個 1.5 版本后的 ZenCart 這個 90 天的密碼設(shè)定呢?老外提供了個辦法,不知道管用不管用。
方法一:找到 admin/login.php 文件內(nèi)的 define('ADMIN_PASSWORD_EXPIRES_INTERVAL', strtotime('- 90 day'));,把里面的 90 改成大大的數(shù)字,比如 36500 ,嗯,100年應(yīng)該夠了。
方法二:找到 admin/includes/functions/admin_access.php 文件內(nèi)的 zen_check_for_password_problems() 函數(shù),在函數(shù)下的第一行插入 return FALSE;
方法三:也是在方法二的這個文件里,修改某個函數(shù)里的天數(shù),像方法一那樣改的無限大,不過都沒經(jīng)過測試,就不要發(fā)了,還是用數(shù)據(jù)庫修改法吧。
后面的三種方法你如果想測試,最后搞個 DEMO 站測試,因?yàn)槔贤馐沁@么提示的,好像很嚴(yán)重的樣子,英文我看不懂,但或許你懂得:
*** 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. ***
這是強(qiáng)制人家修改密碼,我覺得這功能有點(diǎn)雞肋,而且很添亂,會修改密碼的會很神經(jīng)質(zhì)的經(jīng)常修改,像我這樣不修改密碼的,都是可悲的什么時候過期都忘記了,最最郁悶的是,它的數(shù)據(jù)庫中的 md5 密碼還加后綴,不是隨便復(fù)制個通用的密碼就可以用,所以每次我只能看著后臺那個簡陋的登陸界面抓耳撓腮。
今天已經(jīng)是第三次遇到這個問題了,于是我決定把方法記錄下來。
方法還是復(fù)制通用的密碼的 MD5 格式,官方提供的。進(jìn)入 phpMyAdmin,在對應(yīng)的數(shù)據(jù)庫下運(yùn)行下面的 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,那就得改成你的登錄名,郵箱當(dāng)然也要改。這個通用密碼直接復(fù)制是不行的,必須清空整個 admin 項(xiàng)后再寫入才有效。哦,對了,這個通用密碼是:admin。
修改后用密碼 admin 登陸后會提示你修改密碼,當(dāng)然,修改后的密碼仍然是90天有效。
那有沒有辦法去掉這個 1.5 版本后的 ZenCart 這個 90 天的密碼設(shè)定呢?老外提供了個辦法,不知道管用不管用。
方法一:找到 admin/login.php 文件內(nèi)的 define('ADMIN_PASSWORD_EXPIRES_INTERVAL', strtotime('- 90 day'));,把里面的 90 改成大大的數(shù)字,比如 36500 ,嗯,100年應(yīng)該夠了。
方法二:找到 admin/includes/functions/admin_access.php 文件內(nèi)的 zen_check_for_password_problems() 函數(shù),在函數(shù)下的第一行插入 return FALSE;
方法三:也是在方法二的這個文件里,修改某個函數(shù)里的天數(shù),像方法一那樣改的無限大,不過都沒經(jīng)過測試,就不要發(fā)了,還是用數(shù)據(jù)庫修改法吧。
后面的三種方法你如果想測試,最后搞個 DEMO 站測試,因?yàn)槔贤馐沁@么提示的,好像很嚴(yán)重的樣子,英文我看不懂,但或許你懂得:
*** 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. ***