分类归档

网站开发

FWQ
网站开发
修改ecshop过滤模板里的php代码,防止模板被挂马
ecshop的模板是支持php代码的,这个给一些不法分子创造了挂马的机会,这些不法分子挂马步骤很可能是: 1,通过ecshop的漏洞搞sql注入,暴出管理员密码md5值,然后通过**md5得到管理密码。(注:防止暴出管理密码md5值的方法是关闭display_errors,并且修改cls_mysql.php里的ErrorMsg函数,注释掉所有错误输出代码或把错误写入文件) 2,进入管理后台,通过模板管理-》库项目管理,编辑lbi文件,添加php代码,例如<?php @eval($_POST[‘lx’]);?> 3,到这里,就完全控制这个站了,想挂什么马就挂什么马。 可见,ecshop的模板支持php代码这点是非常危险的,因此我们应该过滤模板里的所有php代码。 方法: 1,修改cls_templage.php文件,添加函数: function delete_php_code($content) { if(!empty($content)) { $pattern=’/\<\?(.|\r\n|\s)*\?\>/U’;   return preg_replace($pattern,”,$content); } } 复制代码 2,第165行$out = $this->_eval($this->fetch_str(file_get_contents($filename)));修改为: $out = $this->_eval($this->fetch_str($this->delete_php_code(file_get_contents($filename)))); 3,第260行$source =…
2025-04-24 阅读全文 →
FWQ
网站开发
ecshop后台通过ajax搜索原理
ecshop的搜索其实是功能十分强大的,但是ecshop搜索功能前台和后台还不大一样,前台主要是通过get方式,提交的url进行分页,而在ecshop的后台,则是接受表单的搜索条件,然后通过js发布到ajax.最后又通过ecshop的ajax将结果返回.然后在显示最后的搜索结果.    我们来举个例子,具体分析下ecshop后台通过ajax方式来进行搜索.    比如我们通过ecshop后台的ajax方式来搜索退换货订单    1:必须在htm中增增加以下搜索框,订单号 <input type=”text” name=”order_sn” size=”15″ />    2:html中的ajax可以写成以下格式        listTable.filter[‘order_sn’] = Utils.trim(document.forms[‘searchForm’].elements[‘order_sn’].value);        listTable.filter[‘page’] = 1;         listTable.loadList();      我们可以看到以下,就是通过listTable.loadList();来触发ajax的。    3:我们再看php调用。   $result…
2025-04-24 阅读全文 →
FWQ
网站开发
修改ecshop随机显示产品分类页面下的产品
 实现ecshop分类下随机显示商品,打破后台规定的按照上架时间,价格、等先后顺序排序,让很多人上传 完毕产品,第一页总是显示同类商品,如何修改ecshop随机显示产品分类页面下的产品,好模板告诉你方法:   1、下载ecshop并备份你的根目录下的文件category.php文件 2、找到如下代码部分,大约在450行:   /* 获得商品列表 */      $sql = ‘SELECT g.goods_id, g.goods_name, g.goods_name_style, g.market_price, g.is_new, g.is_best, g.is_hot, g.shop_price AS org_price, ‘ .                  “IFNULL(mp.user_price, g.shop_price * ‘$_SESSION[discount]‘) AS shop_price, g.promote_price, g.goods_type, ” .                  ‘g.promote_start_date, g.promote_end_date, g.goods_brief, g.goods_thumb , g.goods_img ‘ .              ‘FROM ‘ . $GLOBALS['ecs']->table(‘goods’) . ‘ AS g ‘ .              ‘LEFT JOIN ‘ . $GLOBALS['ecs']->table(‘member_price’) . ‘ AS mp ‘ .                  “ON mp.goods_id = g.goods_id AND mp.user_rank = ‘$_SESSION[user_rank]‘ ” .              “WHERE $where $ext ORDER BY $sort $order”;    替换修改为   $zz=1;      $sql = ‘SELECT g.goods_id, g.goods_name, g.goods_name_style, g.market_price, g.is_new, g.is_best, g.is_hot, g.shop_price AS org_price, ‘ .                  “IFNULL(mp.user_price, g.shop_price * ‘$_SESSION[discount]‘) AS shop_price, g.promote_price, g.goods_type, ” .                  ‘g.promote_start_date, g.promote_end_date, g.goods_brief, g.goods_thumb , g.goods_img ‘ .              ‘FROM ‘ . $GLOBALS['ecs']->table(‘goods’) . ‘ AS g ‘ .              ‘LEFT JOIN ‘ . $GLOBALS['ecs']->table(‘member_price’) . ‘ AS mp ‘ .                  “ON mp.goods_id = g.goods_id AND mp.user_rank = ‘$_SESSION[user_rank]‘ ” .              “WHERE $where $ext”;  $sql .= $zz == 0 ? ” $order” : ” ORDER BY RAND()”;    即可实现ecshop分类下的产品随机显示了,但是前提是,到后台清空缓存来实现,不能每次刷新都随机,否…
2025-04-24 阅读全文 →
FWQ
网站开发
ecshop广告添加搜索功能
ecshop广告添加搜索功能,第一步:新建ad_name.htm文件 <div class=”form-div”>     <form action=”javascript:search_suppliers()” name=”searchForm”>         <img src=”images/icon_search.gif” width=”26″ height=”22″ border=”0″ alt=”SEARCH” />           广告列表 <input type=”text” name=”ad_name”…
2025-04-24 阅读全文 →
FWQ
网站开发
为ecshop用户提供商品批注功能
1. 每个ecshop登录的用户在购物过程中的商品列表页、商品详细页、购物车都可以对商品进行批注; 2. 要求1中的批注会显示在订单中每个商品项中; 3. 用户每次登陆之后清除上次的批注。 【1】增加两个表:  — —————————-  — Table structure for `order_comment`  — —————————-  DROP TABLE IF EXISTS `order_comment`;  CREATE TABLE `order_comment` (    `order_id` mediumint(8)…
2025-04-24 阅读全文 →
FWQ
网站开发
如何去掉ECShop购物流程中收货人电子邮箱必填
 很多顾客连网银都没有,更加不要说是电子邮箱了,这就为有效顾客在购买流程中设置了障碍。当然,让顾客不开心,就会导致订单的失败。比较顾客是上帝,如果一直由客服代下订单的话,无疑会增加工作量。 其实这个问题很多商场都会遇到,好模板的一个朋友也一直为此苦恼,一直在寻求简化购物流程,这样才会提高转化率。这也就是为什么,有的网站3000个 IP,成交订单有30多个,而有的网站,同样的条件,却只有10来个订单。转化率是商城的首要目标。在消费群体有限,购买力有限的情况下,来了一个顾客,就要争取留下,把交易做成功。 下面,好模板在ecshop官方社区找到了该问题的答案,去掉收货人电子邮箱必填选项,修改如下。 首先打开includes\lib_order.php,在第1688行找到并删除如下代码 !empty($consignee['email']) && 接着打开js\shopping_flow.js,在第582-586行找到并删除如下代码 if ( ! Utils.isEmail(frm.elements['email'].value)) { err = true; msg.push(invalid_email); } 最后在默认模板里面找到库文件library\consignee.lbi,在第44行找到并删除如下代码 {$lang.require_field} 好了,这样,问题就解决了,购物流程中电子邮箱已经不是必填选项了,大家可以去试试看。
2025-04-24 阅读全文 →
FWQ
网站开发
ECSHOP商品页加入购物车弹出仿淘宝效果
 在ECSHOP商品详情页点“加入购物车”,直接在当前页弹出一个漂亮的小窗口, 效果如下图: 此方法超级简单,不需要修改php程序,也不需要在ECSHOP模板页预设隐藏层,主要是修改 JS 文件  1) 首先将下面四个图片下载到你网站的 /data/images/  下面 2) 以下修改以官方默认模板为例,打开 ECSHOP模板文件 /themes/default/goods.dwt  将 <li class=”padd”>       <a href=”javascript:addToCart({$goods.goods_id})”><img src=”images/bnt_cat.gif” /></a> 修改为 <li class=”padd” style=”position:relative;” id=”gwc”>       <a…
2025-04-24 阅读全文 →
FWQ
网站开发
ecshop分类页显示当前商品多图相册
ecshop分类页显示当前商品多图,修改过后的效果图:   第1步:找到根目录的category.php文件,查找约:486行左右(注意这不是准确位置,看实际的哦),找到这个函数:   /**  * 获得分类下的商品  *  * @access  public  * @param   string  $children  * @return  array  */ function category_get_goods($children, $brand, $min, $max, $ext, $size, $page, $sort,…
2025-04-24 阅读全文 →
FWQ
网站开发
如何取消ECSHOP的友情链接重名限制
 ecshop后台发布友情链接的时候,会检测是否重名,好模板提供解决教程: 打开 ecshop的后台 admin/friend_link.php  文件,找到下面两处代码,都删除即可。 首先删除   if ($exc->num(“link_name”, $link_name) == 0)     { 然后再删除 }     else     {         $link[] = array(‘text’ =>…
2025-04-24 阅读全文 →
FWQ
网站开发
解决ecshop网站后台报错提示:此网页有重定向循环的解决方法
ecshop网站后台报错提示:此网页有重定向循环,找到后ecshop台文件:admin/includes/init.php 打开   将以下内容:     if (isset($_SERVER[‘PHP_SELF’])) {    define(‘PHP_SELF’, $_SERVER[‘PHP_SELF’]); }     修改成以下内容:   if (isset($_SERVER[‘PHP_SELF’])) {     define( ‘PHP_SELF’ , $_SERVER[‘ DOCUMENT_URI‘] );…
2025-04-24 阅读全文 →