此方法的缺陷是,只要下订单GA就认为算一次交易,是否付款跟踪不到
1,注册:http://www.google.com/analytics
2,创建账号、站点.
3,设置站点时要将“电子商务”(Ecommerce)选成”yes”.
4,在ECSHOP themes/library/page_footer.lbi 的末尾,加上google analytics的统计代码
(要将UA-xxxxxx-1改成自己的)
<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
try {
var pageTracker = _gat._getTracker("UA-xxxxxx-1");
pageTracker._trackPageview();
<!-- {if $step eq "done"} 订单提交成功-->
pageTracker._addTrans(
"<!--{$order.order_sn}-->", // Order ID
"<!--{$order.parent_id}-->", // Affiliation
"<!--{$order.goods_amount}-->", // Total
"0", // Tax
"<!--{$order.shipping_fee}-->", // Shipping
"<!--{$order.city}|{$order.district}-->", // City
"<!--{$order.province}-->", // State
"<!--{$order.country}-->" // Country
);
<!--{foreach from=$goods_list item=goods}-->
pageTracker._addItem(
"<!--{$order.order_sn}-->", // Order ID
"<!--{$goods.goods_sn}-->", // SKU
"<!--{$goods.goods_name}-->", // Product Name
"<!--{$goods.goods_id}-->", // Category
"<!--{$goods.goods_price}-->", // Price
"<!--{$goods.goods_number}-->" // Quantity
);
<!--{/foreach}-->
pageTracker._trackTrans();
<!-- {/if} -->
} catch(err) {}</script>
完毕。
具体样式请自行调整
举例如首页调用方法:
1、先打开index.php文件找到以下代码:
$smarty->assign(’new_articles’, index_get_new_articles()); // 最新文章
在它下面增加以下:
//调用方法
$smarty->assign(’class_articles_4′, index_get_class_articles(4,6)); // 分类调用文章
//调用多个就修改传进去的参数,以及模板接收的变量,其中上面的4就是文章分类ID,其中6是调用数量
$smarty->assign(’class_articles_5′, index_get_class_articles(5,6)); // 分类调用文章
$smarty->assign(’class_articles_6′, index_get_class_articles(6,6)); // 分类调用文章
$smarty->assign(’class_articles_7′, index_get_class_articles(7,6)); // 分类调用文章
$smarty->assign(’class_articles_8′, index_get_class_articles(8,6)); // 分类调用文章
//在最后?>这个之前增加以下函数
/**
* 获得指定栏目最新的文章列表。
*
* @access private
* @return array
*/
function index_get_class_articles($cat_aid, $cat_num)
{
$sql = “SELECT article_id, title,open_type,cat_id,file_url FROM ” .$GLOBALS['ecs']->table(’article’). ” WHERE cat_id = “.$cat_aid.” and is_open = 1 LIMIT ” . $cat_num;
$res = $GLOBALS['db']->getAll($sql);
$arr = array();
foreach ($res AS $idx => $row)
{
$arr[$idx]['id'] = $row['article_id'];
$arr[$idx]['title'] = $row['title'];
$arr[$idx]['short_title'] = $GLOBALS['_CFG']['article_title_length'] > 0 ?
sub_str($row['title'], $GLOBALS['_CFG']['article_title_length']) : $row['title'];
$arr[$idx]['cat_name'] = $row['cat_name'];
$arr[$idx]['add_time'] = local_date($GLOBALS['_CFG']['date_format'], $row['add_time']);
$arr[$idx]['url'] = $row['open_type'] != 1 ?
build_uri(’article’, array(’aid’ => $row['article_id']), $row['title']) : trim($row['file_url']);
$arr[$idx]['cat_url'] = build_uri(’article_cat’, array(’acid’ => $row['cat_id']));
}
return $arr;
}
2、第二步是在index.dwt模板想调用的地方增加以下代码,(注:以下调上面设置里的分类ID为8的文章列表):
<!–{foreach from=$class_articles_8 item=article}–>
<li><a href=”{$article.url}” title=”{$article.title|escape:html}”><!–{$article.short_title|truncate:15:true}–></a></li>
<!–{/foreach}–>
网上找到的资料都是过时的,链接不可用,修正版本如下,mark一下备用
ddos全名是Distribution Denial of service (分布式拒绝服务攻击),很多DOS攻击源一起攻击某台服务器就组成了DDOS攻击
1.下载
cd /tmp
wget http://www.zdziarski.com/blog/wp-content/uploads/2010/02/mod_evasive_1.10.1.tar.gz
tar zxf mod_evasive_1.10.1.tar.gz
2.安装
cd mod_evasive
/usr/local/apache/bin/apxs -c -i -a mod_evasive20.c
3.配置
vi /usr/local/apache2/conf/httpd.conf
添加下面内容
LoadModule dosevasive20_module libexec/apache22/mod_dosevasive20.so
<IfModule mod_dosevasive20.c>
DOSHashTableSize 3097
DOSPageCount 5
DOSSiteCount 100
DOSPageInterval 2
DOSSiteInterval 2
DOSBlockingPeriod 600
</IfModule>
4.重新启动apache2,配置完毕。
5.测试
打开IE ,访问网站 http://yourdomain.com 不断快速刷新网页就会出现错误提示,说明防泛有效,查看/tmp目录会dow.ip 日志文件。
说明:
DOSHashTableSize 3097 记录和存放黑名单的哈西表大小,如果服务器访问量很大,可以加大该值
DOSPageCount 5 同一个页面在同一时间内可以被统一个用户访问的次数,超过该数字就会被列为攻击,同一时间的数值可以在DosPageInterval参数中设置。
DOSSiteCount 50 同一个用户在同一个网站内可以同时打开的访问数,同一个时间的数值在DOSSiteInterval中设置。
DOSPageInterval 2 设置DOSPageCount中时间长度标准,默认值为1。
DOSSiteInterval 2 设置DOSSiteCount中时间长度标准。
DOSBlockingPeriod 10 被封时间间隔秒,这中间会收到 403 (Forbidden) 的返回。
New Comments