分类归档: Web

Blog 剽窃是我最反感的事情

剽窃者


剽窃者

Originally uploaded by Fenng.

写Blog 本来是挺美好的一事儿。可每次看到那些剽窃我 Blog 内容的时候都感觉很恶心。这是我最反感的事情。
我以前写过《这些大网站都用什么操作系统与Web 服务器?》,偶然搜索一下,很多所谓的“博客”,直接一字不差的贴在自己的“博客”上(见图),继续搜索一下,会发现非常多类似的帖子被别人冒名顶替,就是不标记出处。这不是剽窃是什么? 我的 Blog 版权不够明显么?
我为什么火大? 这和老罗反感新东方的有些无耻年轻老师抄袭老教师不但抄袭老教师的讲课内容还把老教师讲述的人生经历也套在自己身上一样。造成的后果是学生认为老教师在抄袭那个无耻的年轻教师。看看那些”博客”,一个字不改,就好比有个人模仿你的一言一行去博取别人的好感,能不恶心么?
虽然我说过《转载技术文章是对互联网的一种伤害》,现在也只能把标准继续降低:转贴我的 Blog 内容无所谓,必须注明出处。否则我向这类人比出中指!
借《疯狂的石头》的道哥之口送这类人一句话:素质,注意素质!

Yapache-Yahoo! Apache 的秘密

作为世界上 NO.1 的 Web 站点,Yahoo!Web 服务器定有独到之处. 这也应该是很多 Web 技术人员关心的一个问题。
前一段时间, Yahoo! 架构软件组的技术经理 Michael J. Radwin 在 OSCON 2006 上作了一个题目为 Hacking Apache HTTP Server at Yahoo! 的报告,透露了很多关于 Yahoo! Apache 的技术信息。
Yahoo! Apache = Yapache , 这是雅虎内部使用的名字吧。发音是(why·apache)(注:根据下面的留言,读音应为[ya`pache])。 YApache 是基于 Apache 1.3 进行 hack 的,目前在向 Apache 2.2 迁移(Prefork Multi-Processing Module ?)。 Michael 介绍说构建 YApache 的原因有三个:
1) 安全性;
2) 节省带宽;
3) NETSCAPE GUIDE BY YAHOO–这是 97 年的时候 Yahoo! 与 Netscape 联合推出的 一个互联网信息与导航服务,需要用到富媒体内容,当时的 Apache 对这样的内容支持较弱,所以雅虎不得不动手改造 Apache (要知道97 年的时候 Netscape 就好比现在的 Google 啊)。据说这才是主要原因。
Apache 1.3 的功能对雅虎来说已经够用 (在 98 年对 yapache 添加了 gzip 的支持),所以这个版本一致用到现在。YApache 的一个倾向性的原则是用进程而不用线程,相对比较保守,不过这样选择的原因也是很明显的:进程更加稳定,线程对与程序员来说,更容易引入新的问题。
接下来 PPT 描述了一些关于 LOG 格式的内容,继续看下去,我感兴趣的是关于配置参数 StartServers / MaxSpareServers / MinSpareServers / MaxClients 的问题。很多 Web 技术人员往往要在这个地方反复推敲。YApache 一般只设置 MaxClients,这个值一般小于 100, 对于 99% 的站点是足够用了。尽量让系统(Yahoo! BSD) Kernel 来处理 Buffer, 在这个地方关于 几个 kernel 参数的设置很有讲究。
关于SSL 的部分我不太感兴趣,倒是最后的 ysar (Yahoo! sar) 看起来是一个有趣的工具.
这样的定制对于 Yahoo! 这样需要大量 Web 服务器的站点来说(现在平均每天接近 40 亿 的 PV),得到的收益无疑是巨大的。对于规模相对较小的 Web 2.0 站点,类似 LightTPD 这样的轻量级 Web 服务器更为适合(比如豆瓣):

$ curl -I www.douban.com
HTTP/1.1 200 OK
Connection: close
Status: 200 OK
Content-Length: 13213
Content-Type: text/html; charset=utf-8
Set-Cookie: dbcl2="MPmAySb0OYE::"; path=/; domain=douban.com; \
expires=Thu, 01-Jan-2009 00:00:00 GMT
Date: Fri, 22 Sep 2006 12:34:16 GMT
Expires: -1
Server: lighttpd/1.4.11

(那些盯着豆瓣页面看的模仿者,很少有人留心豆瓣的运维技术吧)
在线查看这个PPT: Hacking Apache HTTP Server at Yahoo! (PDF Version) (其实这个文档和 05 年的内容基本上是一致的)。

继续阅读

Spam, 这个所有 Blogger 都头疼的问题

今天雅虎中国开始了”搜虫大行动“, 其中一个目的就是为了对付 SPAM,说起 SPAM ,估计很多 Blogger 都恨的牙根痒。
最近我把Blog 的验证字插件 Scode 关掉了。一个原因是为了方便留言的读者,另一个原因是为了减少压力。反正用 Scode 的时候 Spam 留言是狂多的,对 Spam 机器人来说, Scode 验证字没什么用,直接找到留言的脚本发过来信息就成了,这些垃圾留言在后台一样需要手工清理。”死猪不怕开水烫”。
没有想到,我把 Scode 关掉之后,Spam 留言反而少了很多,怪哉。不过有了新变化:HTTP HERD REFER SPAM 多了起来。这一类的 SPAM 的目的就是为了通过 AWstats 的统计结果页面的 Refer 来提高自己页面的 PageRank, 我的 AWstats 统计入口登陆是需要验证的,坚决不让他们得逞。
中外 SPAM 的异同
总体来讲,国内的 SPAM 基本上还属于手工作业的阶段(虽然偶尔也会看到 SPAM 机器人). 而国外的 SPAM 机器人就灵活许多了,很多 SPAM 能够识别我改名后的 mt-comment.cgi 脚本,虽然不需要啥高深的技术含量,但起码能看到人家在改进。国外的 SPAM 机器人试图宣传的站点基本上都是与”赌博,色情”沾边。URL 都是巨长的那种。留言内容的形式风格都很相似,第一句话都是称赞你的 Blog 的,”Great Site”, “Good Blog”, 套套近乎,接下来就是大堆的垃圾信息了.
不知道这些专门开发 SPAM 的家伙都来自哪个国家,但肯定来自中国的非常少,所以说该给咱们的 “chongqed” 摘帽了吧? 现在中国天才们都集中精神研究流氓软件呢,那有时间搞 SPAM 啊。
现在使用的抵挡 Spam 的办法罗列一下:
*) 使用 Movable Type 的 插件 nofollow ;
*) 重命名 mt-comment.cgi 脚本 ;
*) 修改 AWstats 的脚本 awstats.pl, 把 HEAD 过滤条件($field[$pos_method] eq ‘HEAD’)去掉.
Trackback 的 SPAM 不用担心了–我已经关闭了 Trackback 的 Ping.
现在比较烦的另一个问题是经常有人在我的站点上找一些”dvbbs7.mdb”,”s8qq.txt”,”s8dvbbs6.mdb” 或者类似的文件,估计是用一些”黑客”工具在扫描有漏洞的论坛程序,我通过 URL rewrite 制定了几个规则。谁有其他什么好办法么?
EOF

个人 Blog 站点设计的几个不好的习惯

我订阅了几百个 Feed,即使这样,也经常去一些 Blogger 的站点逛逛. 从个人的感受出发,说说一些关于 Blog 站点设计的几个不好的习惯。
1) 在 Blog 页面上设置背景音乐. 这是会令人非常反感的一个 Blog “功能”. 很多时候这个音乐是冷不丁的响起来,吓人一跳(比如这个 百度掌门的空间). 如果是在夜里或者是办公环境,别提有多糟糕了。牛博网最近就在用户须知第六项条款说明”严禁用户在博客内设置歌曲或其他声音文件的自动播放“, 我是举双手赞同的. MSN Space/Live Space 或许是始作俑者(即使不是也有很大的责任: MSN 提供一个模块并鼓励用户这样设置),国内那些模仿 MSN Space 的 BSP 也把这一招原封不动的搬来。
2) 保护过度的图片盗链接. 通过 Apache 中简单的设置可以保护图片盗链接. 这一点本来倒也无可厚非. 可是如果读者是通过 FeedBurner 等服务读取内容的话,看到的都是一些禁止盗链的图示。感觉就不那么舒服。我个人建议,如果怕盗链接,完全可以把图片放到 Flickr/Yupoo 等站点上么。
3) 使用站外的 API/Script 等要注意”内容的可靠性” 有一天在一个朋友的 Blog 首页上看到一个链接 “我成功的秘密” , 红红的字体看起来很醒目,点击过去却链接到 HP 站点…我这才醒过味来原来不过是个广告,那个位置如果正常显示的话是 Donews Inout 交换链接的脚本输出,却临时被混水摸鱼变成了广告。
4) 图片显示不正常: 拉伸. 自己的个人照片显示居然是不是按比例的–图片显示的不是把脑袋压扁了,就是把脸拉的好长。难道 Blogger 自己每天看着就不难受么?
当然,这也都是我个人的感受。就好比第一条,或许有的人就喜欢自己每次访问听着背景音乐也说不定;也或许有人会问我:你的 Blog 上访问过的链接为什么不变个颜色呢? 这不也是一个不良设计习惯么 ?
EOF