refer/referral 显示反向链接原理

作者:Hily 原始链接:http://hily.me/blog/2005/01/referer-theory/
版权声明:可以转载,转载时务必以超链接形式标明文章原始出处作者信息版权声明

代码使用方法请看:
http://blog.wespoke.com/archives/000571.php

分析了“http://luliang.dhs.org/refergb.cgi”的代码,其实只是个Javascript:

function write_ref() {
   document.write("<script language='Javascript' src='http://luliang.dhs.org/cgi-bin/refergb.cgi?in=" + document.referrer + "&out=" + document.location + "'>");
   document.write("</");
   document.write("script>");
}
write_ref();

document.referrer:前网页从哪里链接来的
document.location:当前网页的地址

下面举个例子:
比如在我的BLOG中加入了这个脚本,即:
<script type="text/javascript" language="Javascript" src="http://luliang.dhs.org/refergb.cgi"></script>
当我们从其他网页中链接到你的BLOG上时(比如从鼓浪听涛),
你的BLOG上的脚本"document.referrer"就取得了鼓浪听涛上链接到你的BLOG上的地址:
“http://210.34.0.13/xxxxxxxx”后面的xxxxx不用管它
同时"document.location"取得当前网页的地址:
“http:// selfren.xmu.edu.cn/blogs/more.asp?name=fengdongren&id=115”

接着你的BLOG会向“http://luliang.dhs.org/cgi-bin/refergb.cgi”发送请求,
请求中包含两个参数:
“in=”:来源地址,这里是“http://210.34.0.13/xxxxxxxx”
“out=”:调用脚本的页面,这里是“http:// selfren.xmu.edu.cn/blogs/more.asp?name=fengdongren&id=115”

参数传给 http://luliang.dhs.org/ 后,它就先开始分析,
获取“http://210.34.0.13/xxxxxxxx”的title后开始统计,
这里他们可能是把in和out都存入数据库了。
最后把分析出来的title和参数in传回给客户端,这时指你的BLOG。

当下次有个从另一个网页链接到相同的页面时,
http://luliang.dhs.org/ 就将客户端提交的数据分析后再和先前保存的数据一起返回给客户端。

另外,如果in参数前面包含有一些关键字,
比如“http://www.baidu.com/afdsfsafsadfdsafa”,
服务器就会自动把它识别为百度的首页,
而不用再去取得百度搜索页的页面代码,
因此显示的结果是“百度——全球最大中文搜索引擎”
而不是“百度搜索_关键字”

要不要试试?

http://luliang.dhs.org/cgi-bin/refergb.cgi?in=IN_URL&out=yoursite_url

把IN_URL改成本机的地址,看看你的WEB服务器日志,有没有发现luliang.dhs.org在连你?(我的机子不行,外面访问不到,呵呵)

大家清楚了吧,改明儿俺自已也写一个。

-- EOF --

发表一下您的高见

If you have any question, or for the language problem, please fell free to leave a comment or just contact me with email: hilyjiang [At] Gmail.