ecshop中红包编码生成规则分析和改进 - 汇站网

ecshop中红包编码生成规则分析和改进

2021-09-07 0 301

我们知道在ecshop后台促销管理,有红包的功能。Ecshop 红包功能是可以抵消的效果直接现金,Ecshop 红包有两种类型,一是直接发送到个人账户。存储在表中的 ecs_user_bonus,一旦将其发送到客户的帐户。所以意味着其他人的代码,不能使用这段代码中扣除。另一个 ecshop 送红包是离线。当你的代码时,红包有效期的,您可以使用红包。

  • 我们必须知道,ecshop 的红包编码是有问题的。我们看 flow.php
  •      if (((!empty($bonus) && $bonus[‘user_id’] == $_SESSION[‘user_id’]) || ($bonus[‘type_money’] > 0 && empty($bonus[‘user_id’]))) && $bonus[‘order_id’] <= 0)
  •        这一句表示,就算是该编码没被使用。只要是发到个人帐户去之后。即使你登陆了,也不能通过这个编码来进行使用,所以这就是一大问题。
  •       其次,我们看 ecshop 红包的编码生成机制。
  •       $num = $db->getOne(“SELECT MAX(bonus_sn) FROM “. $ecs->table(‘user_bonus’));
  •     $num = $num ? floor($num / 10000) : 100000;
  •     for ($i = 0, $j = 0; $i < $bonus_sum; $i++)
  •     {
  •         $bonus_sn = ($num + $i) . str_pad(mt_rand(0, 9999), 4, ‘0’, STR_PAD_LEFT);
  •         $db->query(“INSERT INTO “.$ecs->table(‘user_bonus’).” (bonus_type_id, bonus_sn) VALUES(‘$bonus_typeid’, ‘$bonus_sn’)”);
  •         $j++;
  •     }
  •      首先我们看清楚,当你的红包编码达到了几百完以上,就容易产生重复的编码。其次,在录入红包编码的时候,根本没判断是否有重复的红包,这就造成了很大的问题,如果红包编码重复,那将是非常严重的问题
  •     $db->query(“INSERT INTO “.$ecs->table(‘user_bonus’).” (bonus_type_id, bonus_sn) VALUES(‘$bonus_typeid’, ‘$bonus_sn’)”);
  •     为了解决这个问题,首先我们必须保证在录入编码之前,确保该编码没重复,所以必须判断数据库中是否有该编码。那么我们就必须对 bonus_sn 来进行扫描判断,那么多数据如何提高扫描速度呢。我们必须在 bonus_sn 上建立索引。其次,我们可以修改红包编码的规则。既然是十位,我们就可以用我们自己的办法来得到。
  •     static function GenSecret($len=6, $type=self::CHAR_WORD)
  •     {
  •         $secret = ”;
  •         for ($i = 0; $i < $len;  $i++) {
  •             if ( self::CHAR_NUM==$type ){
  •     if (0==$i) {
  •      $secret .= chr(rand(49, 57));
  •     } else {
  •      $secret .= chr(rand(48, 57));
  •     }
  •             }else if ( self::CHAR_WORD==$type ){
  •                 $secret .= chr(rand(65, 90));
  •             }else{
  •                 if ( 0==$i ){
  •                     $secret .= chr(rand(65, 90));
  •                 } else {
  •                     $secret .= (0==rand(0,1))?chr(rand(65, 90)):chr(rand(48,57));
  •                 }
  •             }
  •         }
  •         return $secret;
  •     }
  •    这个方法,要强过 ecshop 红包默认的编码规则。

转载请注明:汇站网 » ecshop 中红包编码生成规则分析和改进

收藏 (0)

微信扫一扫

支付宝扫一扫

点赞 (0)

感谢您的来访,获取更多精彩资源请收藏本站。

本站声明

本资源仅用于个人学习和研究使用,禁止用于任何商业环境!

 1.  本网站名称:汇站网
 2.  本站永久网址:https://www.huizhanii.com/
 3.  本站所有资源来源于网友投稿和高价购买,所有资源仅对编程人员及源代码爱好者开放下载做参考和研究及学习,本站不提供任何技术服务!
 4.  未经原版权作者许可,禁止用于任何商业环境,任何人不得擅作它用,下载者不得用于违反国家法律,否则发生的一切法律后果自行承担!
 5.  为尊重作者版权,请在下载24小时内删除!请购买原版授权作品,支持你喜欢的作者,谢谢!
 6.  若资源侵犯了您的合法权益, 请持您的版权证书和相关原作品信息来信通知我们请来信     通知我们我们会及时删除,给您带来的不便,我们深表歉意!
 7.  如下载链接失效、广告或者压缩包问题请联系站长处理!
 8.  如果你也有好源码或者教程,可以发布到网站,分享有金币奖励和额外收入!
 9.  本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
 10.  因源码具有可复制性,一经赞助 ,不得以任何形式退款。
 11.  更多详情请点击查看

汇站网 ECSHOP ecshop中红包编码生成规则分析和改进 https://www.huizhanii.com/15944.html

汇站

站长资源下载中心-找源码上汇站

常见问题
  • 如果付款后没有弹出下载页面,多刷新几下,有问题联系客服!
查看详情
  • 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。
查看详情

相关文章

发表评论
暂无评论
  随机评论 表情开关按钮图片
表情表情表情表情表情表情表情表情表情表情表情表情表情表情表情表情表情表情表情表情表情表情表情表情表情表情表情表情表情表情表情表情表情表情表情表情表情表情表情
登录后评论
联系官方客服

为您解决烦忧 - 24小时在线 专业服务

(汇站网)一个专注站长资源的平台网站,提供最新的网站模板和整站源码,内容包含各类精品网页模板,企业网站模板,网站模板,DIV+CSS模板,织梦模板,帝国cms模板,discuz模板,wordpress模板,个人博客论坛模板,上千种免费网页模板下载尽在汇站网.找源码上汇站.huizhanii.com

终身SVIP限时特惠


为回馈新老会员对本站的支持与厚爱

推出原价598元 现在仅需99元 有效期为永久

可享有免费下载本站98%VIP资源

即时活动 即时优惠 错过就再等一年

汇站网(huizhanii.com)

2024年即日


点我关闭