YangFan.net

TrackBack功能

  在zig的提醒下,发现居然没有做TrackBack功能。其实原来是打算做的,但是耽误下来之后,又没有人特别需求,于是就给忘了。TrackBack是个挺简单的东西,而且原来做系统设计的时候数据格式接口什么的都是定义好的,所以只要写点代码就可以了。昨天一下午就做完了。不过做完归做完,问题还是很大。
  支持TrackBack主要是两块功能,一是支持别人TrackBack我的Blog,二是支持我TrackBack别人的Blog。第一点的实现比较简单,只要每篇文章给一个URI,然后处理下别人post过来的请求就可以了,请求格式也不复杂,监听了一下看看发现也没什么特例,大家都按标准格式发的,除了Live Space把title发成excerpt之外。这里比较麻烦的是怎么防止spam,貌似没有特别好的办法,毕竟本来就是机器发而不是人发,所以没法让他输入验证码。办法一是在URI上做文章,弄个key跟在后面,使得机器不能简单得通过id累加来获得我所有的TrackBack URI,这个我倒不需要,因为我的ID本来就不规律;二是只有手动输入验证码之后才能看到URI,这个安全是安全了,但是对读者太不方便;三是不在页面上留下可被抓取的URI,一般都是不做链接,这样人可以框起来Ctrl+c,机器就无能为力了,但是这也有风险,哪天别人的crawler进化了,就给抓走了,于是我采用了点变化,用javascript来write这个URI,这样需要crawler进化到更高级才能抓到;四是加filter,这个就很麻烦了,懒得搞。
  更大的麻烦来自于发送TrackBack。我完完全全按照标准的格式做的,结果居然很少能发成功。Live Space给我返回的msg是Unknown Error,好歹他是xml格式的,其他有几家返回文本格式的错误——可见对标准支持得有多差。当然,还有某人返回一个Interal Server Error的,要orz一下。这个还需要好好测试一下找出问题。要是哪位看到自己的Blog被这篇文章TrackBack了,那就是我在测试,多多打扰了。
  所以目前最终的结果,这个TrackBack功能变成了自己TrackBack自己用……
Tag:
2007-05-02 15:22 | Category : Blog

Comments

Leave a Comment

Subscribe Atom
  • Subscribe to google
  • Subscribe to bloglines
  • Subscribe to zhuaxia
Search
License
  • Creative Commons Lisence
Copyright © 2011 Yang Fan. Powered by Fomalhaut 1.0b.