Aug 7, 2009

Gravatar通用头像服务

Gravatar(个人全球统一标识)全称为Globally Recognized Avatar(直译为”全球认识的头像”)的缩写。

它起源于在网上各处论坛中所广泛使用的头像(avatar),随着Blog的广泛普及,在各处Blog的留言上也相继出现了头像,为了方便用户在四处的Blog广泛留言的同时可以拥有统一的头像,http://www.gravatar.com/ 提出了Gravatar这个概念并开始提供这项服务。这项服务概念上十分简单,就是把个人email地址与头像作为捆绑(请登录 http://www.gravatar.com 申请帐户,上传照片即可完成),当你再在支持Gravatar的网站留言并使用你的个人email2时,头像就会出现在你的留言旁。

比方说,我的头像现在就是一只健身老鼠: 8-)

该网站会对各个头像评定等级,就按照美国电影协会所制定的标准。所以就有X、R、PG、G四个等级(从最不适宜到老少皆宜排序),然后更酷的是,网站/Blog的管理者还能决定什么等级的头像才能显示,这显然更符合将来网络管理的趋势。

怎样申请Gravatar?

步骤很简单,如果你也有兴趣想做看看,就跟着一起试作吧:

(一)、首先是到Gravatar网站上去注册一个账号,很简单,只要填写一个你最常用的email,接着输入两次密码,送出之后,系统会寄一封确认信到你的信箱,开信,点一下启用账号连结即可。

(二)、接着,到Gravatar去登入,登入后,就可以开始上传你的图片了,格式则JPG/GIF/PNG皆可,头像尽量用jpg格式的,gif和png容易背景变黑。上传完后,等待着网站的管理员对头像图片分级 (G 普通级、PG 辅导级、R 和 X 为限制级),审核完毕它会email通知你的。

注:一般来说一天时间就可以审核通过。如果图片不含暴力或者暴露内容,多半会得到G级别的等级。

通过之后这个头像就可以使用了。在任何支持Gravatar的地方,在填写email地址时,请填写你申请注册头像用的这个email地址。你的头像就会出现在留言中。

-----------分割线----------------

顺便更新了一下Wordpress后台。之前每次更新Wordpress都是个噩梦。需要备份数据库、deactivate插件、移除旧的WP文件,上传新的WP压缩包、然后解压、改文件夹权限属性、再activate插件、重新hack一些后台文件,再逐个检查插件是否有更新……。

以后就好了,现在更新WP和插件都可以在一分钟内自动完成,自己要注意的就是备份好数据库和hack过的文件啦。

Tags:   
Post by SUN @ 12:27 pm | 网站更新 | Comments (2)
Apr 21, 2007

计数器-55555

夜深了,我还没入睡,因为一个小时前发现了自己的计数器快到55555了,于是决定称这个时候总结下网站的统计数据。

耐心的等待……
结果非常的凑巧,第55555位访问者居然是一位旧友—redlu同学!嗯,看来我要给他发个大大的红包了!

redlu.pharm.pitt.edu (University Of Pittsburgh)

New York, Bronx, United States, 0 returning visits

Date Time WebPage
21st April 2007 02:13:45 znsun.spaces.live.com/
blog.znsun.com/archives.html

:) 几年中,计数器换过好几个,最开始是用的cgiword的计数器,后来因为它不能屏蔽自己的访问,就换成了sitemeter,06年的时候发现statcounter的Google Pagerank是10,觉得它一定很猛,就换成了statcounter,并且一直用到了现在。事实上也证明statcounter最符合我的要求啦。
具体的设置是如下:
计数器显示访问人数(有些计数器显示页面访问数);
30分钟内不换ip的都只算一次访问,不加计数器;
如果时间跨度超过30分钟则计为回访者;
不记录自己的访问信息;
同时记录页面的访问数。

下面的是statcounter上简单的年度报告,P/V值为2.2,也就是每个人平均浏览两个页面。

Statcounter Data

另外,我06年4月装了Google Analytics,相对于计数器的即时更新,Google Analytics的长处在于统计。下面是一些Google Analytics里的统计信息。

1.地区分布:
下面显示的是访问次数最多的前500个城市,主要还是集中在中国地区,其中来自北京的访问占了23%。
Google Analytics-Map

2.造访来源:
现在搜索引擎还是最主要的造访来源。我很不喜欢百度,一是因为它的过滤系统,二是因为它更新文字数据库的速度远没Google快,三是它抓取图片的速度和频率很高,对服务器产生很大的负荷(为此我还屏蔽了百度机器人对我photoblog的访问)。尽管如此,通过baidu来的人还是要比google的多,没办法,目前大陆用百度的人比用谷歌的人要多得多。
造访来源

3.搜索引擎关键词统计,:
这个挺好玩的,从各个不同搜索引擎连接过来时,Google Analytics都会忠实的记录他们所用的关键词,不过这结果实在太多了(有近5000组不同的关键词),我只能挑一些出来说说:

位列三甲的是:
如何摆pose| 634 (关键字| 访问次数)
moracco| 412
色温表| 319

主要原因是用上面这三个词查询,我的几篇文章在Google里排名不是第一就是第二。 所以说,适当的对自己的文章进行SEO还是有必要的

Tags:
Post by SUN @ 2:46 am | 网站更新 | Comments (6)
Apr 18, 2007

搜索机器人访问控制

关键词:搜索 机器人 Web Spider php

主页在载入速度对浏览者来说是一个比较关键的因素。一般来说,浏览者的容忍极限为5s左右,如果读取时间大于5s,浏览者往往会选择放弃。因此,我采用了现在的Live Archive方式,用 http://blog.znsun.com/archives.html 来代替我现在的主页,同时对该页面内的内容进行精简,将内容控制在80k以内,以提高那些新访问者的速度。

但是,相应的问题也来了。Live Archive的结构不利于搜索机器人(Web Spider)爬行,且它调用了不少的javascript内容,搜索机器人(Web Spider)无法跟踪;其次,正常主页上的诸多好友链接也被“精简”,影响了交互。虽然部分问题可以用设定robots.txt的方式来弥补,但是还是有些欠缺。

因此做了如下的处理:

  1. 让用户可以自己设定浏览方式。
    用户可以通过点击左侧“我的网站”中的Live Archive/Normal Mode 来切换浏览主页的方式,同时结果保存在浏览器Cookies中,下次用同一台电脑访问时候,系统会自动根据用户喜好选择不同的浏览方式。比方说我自己就采用正常浏览方式,因为大量的内容已经被缓存在我的浏览器中,对我来说速度已经不是瓶颈问题。
  2. 将搜索机器人(Web Spider)直接引导到正常的主页,使得他们能够收集更详细全面的信息,包括我的诸多好友链接。主要参考了该网页,精简为下面的一段代码:

    $UA=$_SERVER['HTTP_USER_AGENT'];
    if eregi("Googlebot|Yahoo|VoilaBot|Ask Jeeves|SpeedySpider|MSNbot|Yahoobot|Baiduspider|Sohubot|Lycos|Robozilla|Inktomi Slurp|larbin|spider|crawlGoogle AdSense|EchO!|Magpie|InternetSeer|Magpie|Alexa|The World Wide Web Worm|Voyager|robot|Speedy Spider|Motor|AskJeeves|GigaBot|The Python Robot|MSIECrawler|GetBot|SurveyBot|Fish search|Netcraft",$UA) //大小写没有影响
    {$file = "/home/znsunima/public_html/wordpress/index2.html";
    ob_start('ob_gzhandler');
    echo implode('', file($file));
    ob_end_flush();}
    else
    header("Location: http://blog.znsun.com/archives.html"); //见注¹

上面代码的原理是利用HTTP_USER_AGENT参数来判断是否为搜索机器人²,如果是,返回压缩过的正常主页;反之,返回Live Archive版本的主页。如果你用的是firefox,可以通过在地址栏输入“about:config”,新增general.useragent.override 字段后设定User_Agent来测试。

注¹. 其实其中的archives.html其实我也用php压缩过了,因为我的服务器不支持html格式的直接压缩
注². 网上的机器人很多,我只列了访问过我网站的和其他一些常见的Spider。

Tags:   
Post by SUN @ 12:07 pm | 与时俱进, 网站更新 | Comment (1)
Apr 15, 2007

Hacked files for Permalinks in pixelpost 1.6.0

As Pixelpost 1.6.0 is released, some update/hacks are needed to make the permalinks work.
The followings are the hacked files for the new version-pixelpost 1.6.0.
I've hacked index.php and paged_archive.php. Please be noted that .htaccess update is a MUST.

http://znsun.com/Download/2007/..._pixelpost.rar

for the demo. please visit http://click.znsun.com

Post by SUN @ 4:37 pm | 网站更新 | Comment (0)
Mar 11, 2006

对百度mp3搜索说不

关键词: 百度搜索 MP3 防止盗链 htaccess设置 robots.txt

昨天查看网站log时候,发现了一件非常令人气愤的事情。
我明明在自己的网站中设置了禁止所有网络爬虫访问Music子目录:

User-agent: *
Disallow: /Music/

但是日志中显示3月10日一天就有来自百度mp3搜索的几百个访问,这些访问无一例外的采用206 partial content方式,也就是说,他们并不是通过我的网页访问网站中的mp3文件,而是直接通过baidu的mp3搜索下载!!
通过仔细翻阅那几天的日子,我发现更恐怖的事情,baidu的所谓国际标准机器人居然没有访问我的robots文件,就对我的网站内容进行扫描。这意味着我并不希望被搜索引擎收录的mp3文件都会暴露在大庭广众之下。查看日志还可以发现,一天数百兆甚至接近1G的数据流量竟然有80%是从那不守规矩的百度MP3搜索引擎。我一个月才250G流量限制,现在才不到十个mp3文件一天就可以上G流量,要是以后多点mp3,我还怎么活啊。

所以,我们必须对百度疯狂盗链说不!(其实盗链不光百度,但目前来看,就百度的mp3搜索最无耻)
下面是对.htaccess文件的设置,如果有使用apache服务器的网站站长深受百度mp3搜索的骚扰,可以试一试下面的方法。

1.是屏蔽来自百度mp3的搜索。
2.是防盗链设置,禁止除了白名单中地址外,其他所有地址对mp3文件的直接访问。

我就不信百度现在还能来盗我的链, :evil:

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?znsun.com(/)?.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www\.znsun\.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://blog\.znsun\.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://click\.znsun\.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://gallery\.znsun\.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://(.*)\.spaces\.live\.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://(.*)\.wordpress\.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://web\.hku\.hk/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www\.hku\.hk/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://forum\.xitek\.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://forum\.pixelpost\.org/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://del\.icio\.us/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://(.*)\.feedburner\.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} mp3\.baidu\.com [NC,OR]
RewriteCond %{HTTP_REFERER} 202\.108\.23\.172 [NC,OR]
RewriteCond %{HTTP_REFERER} www\.xqxp\.com [NC,OR]
RewriteRule .*\.(mp3|mp4|rar|jepg|jpg|pdf)$ - [F]

注:robots文件标准是给各个搜索引擎的规范,是所有搜索引擎必须遵守的国际准则。和百度比,google,yahoo的机器人都很乖,都是先访问robots文件才进行抓取。baidu的行为不是无耻,是相当的无耻~

Tags:
Post by SUN @ 11:43 am | 与时俱进, 网站更新 | Comments (7)
Jan 23, 2006

.htaccess指南

.htaccess指南->photoblog更新

我其实还是很臭美的,photoblog里就那么几张破照片,却变着法子想着被google收录,这个叫做本末倒置,嗯! :evil: 不过思想斗争了半天,还是决定改写代码,毕竟照相的时间之后很多,但等google的robot爬完我的photoblog却可能需要数月时间。

现在,photoblog里面的网页基本上都是静态的啦 :mrgreen:

先来科普:
网页分动态网页和静态网页两种,一般说来动态的更为灵活,操作性更强大,更方便(所以我全换成动态平台了)。但是所有的搜索引擎爬虫对动态网页的抓取效果都不太好,所以为了更好的被搜索引擎系统的收录,最好的方法就是用静态网址来模拟动态网址。

我的photoblog用的是pixelpost,一个MySQL+php的动态发布平台,它对静态网页模拟支持不好。所以这就是我要改代码的原因了。

这次改写利用的是Apache HTTP Server的rewrite模块。其方法就是利用在根目录下的.htaccess文件来重定向网页。
原理其实很简单,就是在该文件中定义一些重定向。
举例:

RewriteRule ^abc$ def
RewriteRule ^sun$ QmQ

如果你在.htaccess文件中定义了上述的指令,那么当有人访问你的网页时,如果链接中包含字符"abc",那么系统就会解析成def,如果包含"sun",就会解析成"QmQ"。
不过真的改写起来,还是很恐怖的。首先要总结除了要想办法归纳总结这个htaccess文件外,还要在数千行源代码中找出需要更改的动态链接,并改写成符合规则的方式。更具体的规则,参见网页

下面是我photoblog根目录下的.htaccess文件,如果谁想用piexlpost来架设自己的photoblog时候,可以参考一下。
----------------------------------------------------------------------------------------------

Options -Indexes
RewriteEngine on
RewriteBase /
RewriteRule ^(browse|about)$ index.php?x=$1&pagenum=1
RewriteRule ^browse/([0-9]+)$ index.php?x=browse&category=&pagenum=$1
RewriteRule ^browse/category/([0-9]+)/([0-9]+)$ index.php?x=browse&category=$1&pagenum=$2
RewriteRule ^browse/category/([0-9]+)$ index.php?x=browse&category=$1&pagenum=1
RewriteRule ^comment/([0-9]+)$ index.php?popup=comment&showimage=$1
RewriteRule ^comment/submit$ index.php?x=save_comment
RewriteRule ^photo/([0-9]+)$ index.php?showimage=$1
RewriteRule ^collage$ index.php?x=collage
RewriteRule ^photo/([0-9]+)/rating/([1-5])$ index.php?showimage=$1&rating=$2
RewriteRule ^photo/file/(.+)$ /images/$1
RewriteRule ^thumbnails/latest$ index.php?showthumb=latest&thumbtag=image
RewriteRule ^feeds/(rss|atom).xml$ index.php?x=$1
RewriteRule ^browse/archive/(.*)/(.*)/([0-9]+)$ index.php?x=browse&archivedate=$1&monthname=$2&pagenum=$3
RewriteRule ^browse/archive/(.*)/(.*)$ index.php?x=browse&archivedate=$1&monthname=$2&pagenum=1
RewriteRule ^browse/archive/(.*)/([0-9]+)$ index.php?x=browse&archivedate=$1&pagenum=$2
RewriteRule ^browse/archive/(.*)$ index.php?x=browse&archivedate=$1&pagenum=1
RewriteRule ^browse/calendar/([0-9]+)/([0-9]+)/([0-9]+)$ index.php?curr_month=$1&curr_year=$2&showimage=$3
RewriteRule ^sitemap.xml$ index.php?z=sitemap

----------------------------------------------------------------------------------------------

Text alternative

Tags:
Post by SUN @ 3:45 am | 与时俱进, 网站更新 | Comment (1)