百分百源码网-让建站变得如此简单! 登录 注册 签到领金币!

主页 | 如何升级VIP | TAG标签

当前位置: 主页>网站教程>Ecshop教程> 解决ecshop虚拟卡出现星号问题
分享文章到:

解决ecshop虚拟卡出现星号问题

发布时间:12/03 来源: 浏览: 关键词:
在所有的ecshop的版本当中,网站搬家或者使用LINUX主机,虚拟物品卡号密码全部变成***很突然。没有进行任何后台改动。添加新产品的卡密也是如此解决ecshop虚拟卡转移主机出现星号问题

分析ecshop,我们发现
发现是/admin/virtual_card.php里 有关于星号 看程序后 发现是由include/lib_code.php关于加密解密函数控制的。
virtual_card.php 控制的代码如下
  1.   foreach ($all AS $key => $row)
  2.     {
  3.         if ($row['crc32'] == 0 || $row['crc32'] == crc32(AUTH_KEY))
  4.         {
  5.             $row['card_sn']       = decrypt($row['card_sn']);
  6.             $row['card_password'] = decrypt($row['card_password']);
  7.         }
  8.         elseif ($row['crc32'] == crc32(OLD_AUTH_KEY))
  9.         {
  10.             $row['card_sn']       = decrypt($row['card_sn'], OLD_AUTH_KEY);
  11.             $row['card_password'] = decrypt($row['card_password'], OLD_AUTH_KEY);
  12.         }
  13.         else
  14.         {
  15.             $row['card_sn']       = '***';
  16.             $row['card_password'] = '***';
  17.         }
复制代码深入分析后发现
  1. $row['crc32'] == 0 || $row['crc32'] == crc32(AUTH_KEY))
复制代码以及
  1. ($row['crc32'] == crc32(OLD_AUTH_KEY))
复制代码主要是判断数据库中得crc32字段和经过crc32加密的字符串是否一致
但是发现
数据库中的crc32字符串和crc32加密的字符串 完全不一样所以导致了 出现卡号和卡密为星号的问题
比如我们加密字符串设置的是456  数据库中的crc32 显示为 2147483647  而我们直接代码crc32出来的值为 2980627313 所以导致了 卡号显示为三个***

其实该问题以linux 时间戳问题引起,解决办法很简单
UPDATE virtual_card SET crc32 = ‘0’
打赏

打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

百分百源码网 建议打赏1~10元,土豪随意,感谢您的阅读!

相关文章

共有19人阅读,期待你的评论!发表评论
昵称: 网址: 验证码: 点击我更换图片
最新评论

本文标签

广告赞助

能出一分力是一分吧!

订阅获得更多模板

本文标签

广告赞助

订阅获得更多模板