新聞中心
Ecshop程序如何避免會(huì)員注冊后登陸出現(xiàn)用戶名亂碼的方法
今天小編再次遇到了關(guān)于Ecshop程序的另一個(gè)升級后的Bug,當(dāng)會(huì)員在網(wǎng)站注冊了一個(gè)會(huì)員,也提示注冊成功了。但是當(dāng)在網(wǎng)站輸入注冊的用戶名密碼成功登陸后有的時(shí)候卻很奇怪,登陸后的會(huì)員名會(huì)出現(xiàn)亂碼的現(xiàn)象,那么這究竟是什么原因?qū)е碌哪??小編開始也是百思不得其解呀,也排除了無憂主機(jī)php空間的問題,無奈之下小編登陸了Ecshop的官網(wǎng)翻閱了一些資料對比之下發(fā)現(xiàn)了果然是升級后才會(huì)有的Bug,之前的版本2.7.2是不會(huì)出現(xiàn)類似的問題的,就是升級到了2.7.3版本之后才會(huì)出現(xiàn)的問題呢。關(guān)于官網(wǎng)說的是覆蓋升級文件說的比較模糊,看了也是讓人無從下手呢。那么該如何才能有效的阻止下次再遇到類似的問題呢?小編開始登陸了phpmyadmin查看了數(shù)據(jù)庫里面的會(huì)員信息是不是亂碼的,經(jīng)查閱后發(fā)現(xiàn)數(shù)據(jù)庫里面的會(huì)員用戶名也是亂碼的了。那么是什么原因?qū)е聦懭霐?shù)據(jù)庫的也會(huì)亂碼呢?原來為了防止Sql注入,在會(huì)員提交的注冊的那一刻是經(jīng)過了一個(gè)函數(shù)htmlentities過濾的了。而正是此過濾函數(shù)導(dǎo)致在Ecshop升級后不兼容導(dǎo)致了亂碼現(xiàn)象了。已經(jīng)知道了原因解決就簡單多了,小編來說下解決的方法吧。 第一步:首先找到/includes/lib_passport.php第173行代碼
$other[$key] = htmlentities(trim($val));替換為:
$other[$key] = htmlspecialchars(trim($val));如果沒有bug的此行代碼和小編改過的相同就說明該程序的版本是2.7.2的不需要修改了。 第二步:按照目錄找到/includes/lib_transaction.php文件在大概85行代碼
$profile['other'][$key] = htmlentities(trim($val));修改為:
$profile['other'][$key] = htmlspecialchars(trim($val));改好了這兩個(gè)文件然后傳到根目錄下覆蓋就可以了。小編在此提示下如果是2.7.2的老版本是不需要改的,一般出現(xiàn)問題的都是從網(wǎng)站的后臺(tái)升級到2.7.3的版本才會(huì)出現(xiàn)這樣的bug呢。所以站長朋友們平時(shí)遇到的時(shí)候多注意下也就解決了哦。 無憂主機(jī)相關(guān)文章推薦閱讀: ECSHOP后臺(tái)如何批量處理圖片 ECSHOP后臺(tái)如何將商品批量導(dǎo)出 如何有效調(diào)整ECSHOP首頁FLASH播放器的速度 ECSHOP程序如何在網(wǎng)站后臺(tái)修改商品名稱的長度
本文地址:http://www.gle-technology.com/ecshop/18020.html