初步判断泄漏时间应该在8月22日前后,但是直到几天前才有人公开放出主题。

本人不是搞IT的,主题能做到这个水准已经差不多了,有人对这个主题感兴趣那说明我技术还可以。

不想多说什么,就好比盗版系统一样,有需求就一定会有人去破解。

对于付费用户,我只能说我已经尽量做好了安全措施,抱歉,但是泄漏是难以避免的。(连windows都不免被破解,我又能怎样)

停止发售Abook主题,售后服务照常

Ps1:懒得追究什么,我也用了盗版系统,若免费下载主题代码请自行承担挂马的风险。

Ps2:本人没空做新的收费主题,以后若是有也是私用,以前付费客户可以找我免费索取,算是一点补偿。

今天收到密码错误提示:有人尝试登陆我博客后台,这也不是什么大不了的事情,但是这个不一样,用的密码是我曾用过的密码!这个就十分危险了。

尝试登陆的人IP地址已记录,但是这个不管用(IP地址是电信的宽带吧),屏蔽此IP访问。

image

看看是从哪里过来的:

后台

 

我知道社会工程学,现在互联网在哪里都有记录,如果不小心在某个网站泄漏了密码,可能导致一系列的问题。比如现在这种情况,如果追踪起来的话,可能是wordpress中文论坛数据库被攻破引起的,据说@林木木的收费主题被盗就是同样的原因。

尝试破解我密码的人,严重警告:不要太过分。

因为用到了很多特效,js比较大,而且jQuery随着版本号增加,体积也越来越大了,我一直想优化下。前面写了篇伪技术文,介绍了《js的动态加载》,而现在想进一步优化下速度。

首先,以前调用jQuery库都用的Google的Api,现在国内环境不太稳定。。原因大家都懂的,Google的速度不能保证,换用微软提供的Api,同时为了保证安全,本地服务器留一个备份,防止万一外面调用的jQuery加载不上。以下放到wp主题或者其他网页的头部,</head>标签之前,优先保证js库加载。

<script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.4.4.min.js"></script>
<script type="text/javascript">
<!--
!window.jQuery && document.write('<script src="<?php bloginfo('template_url'); ?>/js/jquery-1.4.4.min.js" type="text/javascript"><\/script>');
//-->
</script>

我用的jQuery版本比较低,1.4.4足够了,可自行替换。本地保存一份压缩后的js放在wp主题js目录下面。

其次,页面的各种js效果采用仿Google analytics的方法异步加载,代码如下:

<script type="text/javascript">
<!--
	var core = document.createElement('script');
	core.type = 'text/javascript'; core.async = true;
	core.src = '{$jsFileURI}';//这里输入js地址
	var s = document.getElementsByTagName('head')[0];
	s.appendChild(core);
//-->
</script>

这段js也放在主题头部,注意上面给script加上了async标签,输出结果如下:

image

下面说说这样做的道理:

异步载入js,不会阻塞其它元素的加载,速度比同步方式更快,比如我页面的加载,虽然我把js放在头部,但是图片比js优先加载:

js加载示意

相比把所有js放在页面底部的做法,能更快的载入特效,比如对于页面DOM操作比较多的主题来说,能够更快的载入各种特效,至少视觉上减少了访客的等待时间。

 

最后,为啥不异步载入jQuery呢(体积巨大的一坨),因为异步的方式不能保证js加载的顺序。。。要是我页面的js加载比库更快,那么就会出错。但有很多方式能够做到异步按顺序加载js,比如有个head.js,能够像图片一样加载页面所有js,只需一个js在头部就可以了。

昨天研究了下“给wp菜单加上随机颜色”,提到没办法用php钩子解决重复颜色的问题,@phoetry 给了一个用js的解决的方法,这下完美了。

var colors=['#F99D35','#FB353E','#301141','#388CDE','#FE0096','#1BA0E1','#339933','#E91104'];//定义的颜色数组
colors.sort(function(){return Math.random()>.5?1:-1;});
//alert(colors);//测试下
$('.menu-item a').each(function(i){
this.style.backgroundColor=colors[i];
})

再次表示感谢~哦,顺便看到phoetry写的phZoom看图插件不错,刚替换了默认的slimbox,要是能加上支持div的缩放那就更好了…

以前就知道wp3.0自定义菜单功能可以自己设置css类,对应不同的样式。我现在想随机指定菜单背景颜色,好用在新主题Abook的导航菜单上,研究了下如何给wp3.0以上的菜单加上随机颜色,分析了下wp的源代码,结果找到了nav_menu_css_class这个地方,加上个钩子搞定。

QQ截图20110823182022

下面这段放function.php里面,给菜单项加上对应的随机css class。

<?php 

/**
    给nav菜单加上不同的颜色by winy 

*/ 

function Colorfullnav($classes){ 

$c = array(1,2,3,4,5,6,7,8,9); 

$classes[]= 'menu-item-color_' .$c[mt_rand(0, count($c)-1)]; 

return $classes; 

} 

add_filter('nav_menu_css_class', 'Colorfullnav');

然后在style.css里面设置颜色代码,例如:

.menu-item-color_1 a{background: #F99D35;}
.menu-item-color_2 a{background: #FB353E;}
.menu-item-color_3 a{background: #301141;}
.menu-item-color_4 a{background: #388CDE;}
.menu-item-color_5 a{background: #000000;}
.menu-item-color_6 a{background: #FE0096;}
.menu-item-color_7 a{background: #1BA0E1;}
.menu-item-color_8 a{background: #339933;}
.menu-item-color_9 a{background: #E91104;}

效果可见Abook现在的菜单背景颜色,仿标签,花花绿绿的….

进一步思考:现在的问题是如何保证不同时出现一个颜色呢?我知道增加颜色种类可以减少几率。。。请各位朋友指教

主题功能

无限翻页ajax翻页特效+预载,后台支持(SEO,广告,功能设置),自定义背景

支持模板(联系邮件表单,归档,留言板,读者墙)

独特的ajax留言/留言ajax分页/无限嵌套/博主高亮/评论自带格式工具栏

首页自动缩略图

…功能太多,列举麻烦。具体demo见本站或测试主题站点

技术细节:

异步载入页面js,加快js下载速度(asyn loading)

自适应屏幕大小,对应宽屏浏览器优(>1280px),显示宽屏版本(css3 Media Queries)

采用自定义英文字体,更优美的阅读体验(@font)

浏览效果:Chrome≈Firefox>IE9>Opera≈IE8>IE7(请自行检测)

IE6功能不正常,仅文章页可浏览

一些截图:

imageQQ截图14

567

主题价格

¥98元(停止出售)

(不接受各种优惠咨询,以下除外)
老用户(曾购买W1主题)购买30%off,仅售¥68元

促销打包,W1+Abook=¥148

购买方式

重要:购买前请先仔细的阅读本文的所有内容。

●支付宝付款(付款前请联系作者以便及时发送主题)

联系提供咨询的时间为晚9:00-11:00。咨询问题尽量发送邮件,QQ留言容易忽略。

售前咨询,点击下面图标(QQ加好友时请注明为购买主题

QQ咨询

 

售后服务

服务方式为Email/QQ [task]
√ 主题免费升级。
√ 提供详细的主题安装和使用说明。
√ 免费提供LOGO定制(限于PS水平,只替换标题文字)
√ 解决一些插件兼容问题。
√ 全价付费用户提供一定程度的主题定制,删减内容(不包括新增内容)和解决一些其他的简单要求(采纳优秀建议) [/task]

刚看到这个消息,Timthumb出现了一个较大的漏洞,会导致服务器被入侵。这个文件在很多wordpress主题中很常见,用来使用缩略图调整。

现在提供bug修改方案:

 

1、升级Timthumb到最新版本:http://code.google.com/p/timthumb/source/browse/trunk/timthumb.php

2、打开Timthumb.php,找到

$allowedSites = array (
'flickr.com',
'picasa.com',
'img.youtube.com',
'upload.wikimedia.org',
);

修改成以下内容:

$allowedSites = array ();

上传修改以后的Timthumb.php覆盖原文件,为以防万一,建议清空根目录下的cache文件夹,并修改wordpress的登录密码。

以上方法来自国外博客:这里,缺点是外部调用的文件例如图床将无法使用,比如我用的首页缩略图就是图床,无法显示了。但对于本地的图片无影响。

转载cnbete的消息:

数十万WordPress用户目前似乎正遭受图像处理脚本Timthumb的威胁,这是一个相当受欢迎的第三方脚本,它可以实现动态图像裁剪、缩放和调整,脚本的文件名是timthumb.php,该文档定义了数个可以远程提取的相册,但脚本并没有很好地验证这些域名,因此类似“http://flickr.com.maliciousdomain.com”这样的欺骗性二三级域名也会被通过,所以黑客理论上可以用任何域名后缀轻松仿冒,并通过缓存目录上传各种恶意程序

目前在Google搜索这一脚本的文件名,一共返回了39万个结果,这意味着这些博客全部遭受安全漏洞的影响,所以如果您运行着WordPress和Timthumb,请尽快做出行动修补或者暂停运行。

这个安全漏洞影响很大,我建议立刻停止使用旧的版本,更新Timthumb到最新版,并按照上面的方式去掉外部调用,至少在新的补丁出来之前,修复这个漏洞,避免更大损失。

PS:我的主题付费W1里面也有用到这个程序,稍候将放上了一个修正版本,请相关客户尽早更新。

采用jQuery动态加载JavaScript文件可以减少js文件大小,提供更快的网页加载速度。jQuery中可以采取$.getScript方法异步加载。使用实例如下,相当于$.ajax方法:

$.getScript('ajax/test.js', function() {
  alert('Load was performed.');
});

其它参数可以查看官方的API:传送门

WordPress主题中也可以采取这样的方法动态加载js,实现按需加载,比如在Abook这个主题中,我主要用了两处js的动态加载。

(一)ajax评论绑定和工具栏载入

image

效果就是访问者写评论的同时,载入ajax评论提交按钮的绑定(为免刷新提交评论准备)和评论工具栏(该工具栏来自qiqiboy的文章)的载入,当准备好以后显示载入完成提示和渐显工具栏。方法如下:

先定义一个函数:

var commentjs=function(){
	$.getScript(themeurl+"js/comment.js");//调用评论工具栏和ajax评论提交需要的js
	$('#toolBar').animate({opacity: 'show'}, 300);//载入工具栏
	$('#comment').unbind('focus',commentjs);//取消自身绑定focus的动作,避免重复加载
}

在用户鼠标焦点到评论框时,执行js的加载和绑定,相关代码如下:

$('#comment').bind('focus',commentjs);//绑定上面的commentjs函数

 

(二)实时头像相关js的动态载入

实时头像指的是在新访问者第一次在评论处输入邮箱地址时即时的显示所访客的gravatar头像,问题就是负责转换邮箱地址的一段8kb的js有点大,不想让每次都加载这个家伙。以前我有写一篇通过php结合cookie判断新访客来载入这段js的方法:实时头像

现在我用$.getScript方法同样可以实现:

var gravatarjs=function(){
	$.getScript(themeurl+"js/realgravatar.js");
	$('#email').unbind('focus',gravatarjs);//取消绑定focus的动作
}
$('#email').bind('focus',gravatarjs);

注:代码中themeurl是主题地址。

其实两个js文件并不大,主要是贯彻按需加载js的原则,给有洁癖的同学,折腾完毕~

换个背景