您的位置: 首页 / iReverse Link, PHP / 反向链接的小程序

反向链接的小程序

Published at Aug 29, 10pm / Keywords: , ,

iReverse Link Alpha TestFlypig 原来用的 Bosoo 反向链接工具不能使用了,于是让我找段代码给他来完成这个功能。找了很多,大多无法完美支持中文,而且也很难满足要求,于是便决定自己写一个。暂时取名字叫 iReverse Link(iRL) 吧。

反向链接主要有两方面的作用:首先,它可以告诉网站的主人它的访客都来自哪里,从而利于网站的地位和内容的优化,提高访问量;另一方面,由于大多访客是通过链接“连”到这里的,反向链接可以为他们的延伸阅读提供一个有效的途径,这一点比较符合“不要让访客停在你的页面上”的原则。提供反向链接的工具和服务的网站很多,比较著名的有 Referer.org,还有一个就是一个 Perl 写的 Referer(似乎台湾的网站用的比较多,我暂时没找到原始开发者的地址)。但这两个的共同缺点就是对中文支持不够完善。写 iRL 也是因为这个原因。

iRL 本身没什么技术含量,主要是处理了一下中文的识别和转换问题。获得网页的编码信息主要有三个途径:第一是相应报头(Http Header),一般服务器会送出一个编码信息;再有就是 HTML 文件中的 meta 标签,通常会包含类似 charset=GB2312 这样指明编码信息的标签;另外一个就是由于近来 XHTML 比较流行,xml 格式的第一行即 <?xml version=”1.0″ encoding=”UTF-8″ ?> 便包含编码信息。除了这三种方法,其实还可以通过 UTF-8 的编码规则来识别,但这样做效率不高局限性也比较大。考虑到以上三种方法已经基本可以满足需要,对于无法识别的网站统一按照 GB2312 处理问题也不大,因为引用中文网站的网站本身一般都是中文的。

编码转换方面,我使用了 mbstring、iconv、汉字内码转换类三个方案。其中前两者为优选方案,实在都没有才用第三个。这样基本上保证了输出结果无乱码,效果比较理想。

iRL 目前处于开发阶段,我目前还没有计划将其公开。主要原因是它的稳定性还不够,另外一些必要的功能还不具备。其中一个很大的缺陷就是它的速度偏慢,需要优化。未来的几天内,我将在以下几个方面来完善它:

  • 多用户支持
  • 使用类似缓存的技术来达到比较理想的速度
  • 黑名单支持,防止垃圾链接,也同样防止竞争性信息出现在页面上
  • 美观的管理后台
发表您的观点或推荐本文 Loading...