备忘一个shopex的密码加密记录方式

在shopex的4.8.5 的 core/model_v5/member/mdl.account.php

文件里面记录了shopex用户的密码是如何存储到数据库的,在

encrypt_passwd_enhanced 函数里面是这样写的

public function encrypt_passwd_enhanced( $pwd, $uname, $regtime )

{

if ( !$pwd || !$uname || !$regtime )

{

return false;

}

$pwd = md5( md5( trim( $pwd ) ).strtolower( $uname ).$regtime );

return “s”.substr( $pwd, 0, 31 );

}

下图中的红圈部分就是加密代码,那么如果在转移到ecshop 时候,因为ecshop只是做了md5(password) 的密码检查,显然登录会失败,那么再加一种这样的检查,就可以登录了,hoho。。。。shopex-userpassword

 

在ecshop 的  includes\modules\integrates\ecshop.php 的行 check_user 函数里面有

if ($row[‘password’] != $this->compile_password(array(‘password’=>$password,’ec_salt’=>$ec_salt)))

我们只需要再加一个

$pwd = md5( md5( trim( $pwd ) ).strtolower( $uname ).$regtime );

$shopex_pass =  “s”.substr( $pwd, 0, 31 );

判断改成这样

if ($row[‘password’] != $this->compile_password(array(‘password’=>$password,’ec_salt’=>$ec_salt)) || $row[‘password’] !=  $shopex_pass )

就可以了

 

 

shopex 在nginx 环境开启伪静态

core/admin/controller/sale/ctl.tools.php
搜索 test_fake_html 后面加两行如下

 $svinfo->test_fake_html(false,$msg);
 $this->system->setConf('system.seo.emuStatic','true');
 return true;

nginx 的配置文件里面

location / { 
if (!-e $request_filename) { 
rewrite ^/(.+\.(html|xml|json|htm|php|jsp|asp|shtml))$ /index.php?$1 last; 
# 下面这行也可以
#rewrite ^(.*)/(.+\.(html|xml|json|htm|php|jsp|asp|shtml))$ $1/index.php?$2 last;
         } 
} 
  

shopex 同步 ucenter 的redirect问题,造成script不运行

首先此问题来自向这个帖子

http://hi.baidu.com/fire_love_live/item/247276cfda421217b67a24c7

需要说明的是,并非15处需要修改,

其中 有关登陆密码错的那一项建议不要修改

在大约行 557处

$this->nowredirect('failed',base64_encode(str_replace(array('+','/','='),array('_',',','~'),$_POST['ref_url'])),__('用户名或密码有误,请重新输入'),$_POST['from_minipassport']);

上面的nowredirect 不建议修改为 splash

 

shopex 整合 ucenter 的登入登出问题

shopex 4.8.5 的 minipassport 导致了 shopex 的登陆时候不调用 uc的登入函数,也就是不通知uc的各个应用,参考此文可解决

http://bbs.vcoo.cc/show-153-1-1.html

1) 登录ShopEX后台,在购物设置中设置登录方式为“跳转至登录页”的方式;
2) 修改登录代码文件:\core\shop\controller\ctl.passport.php 将 nowredirect 改为 splash

参考

/shopex-ucenter-redirect-splash.html