今晚心情好,再讲一个主题:如何更换FCKEditor的默认msn表情库。

FCKEditor我很喜欢,不过最近我迷上了宽带山KDS里的表情。我已经把Bo-blog里的回复表情替换为KDS的可爱表情。今晚,我再把FCKEditor里的默认msn表情改为KDS表情。

废话少说,讲一下方法:

1)在 /blog/editor/fckeditor/editor/images/smiley/ 下,有一个msn目录,这个是默认的msn表情库目录。在smiley目录下,再建一个kds目录,与msn目录平行。在kds目录下,将kds表情复制到其下。我放了ico01.gif, ico02.gif, ico03.gif...ico40.gif,共40个可爱表情。

2)在 /blog/editor/fckeditor/ 下,有一个 fckconfig.js ,这个是FCKEditor的配置文件。在这个文件的最下面,有五行配置语句。第一句是配置表情的目录名,这里要更改。第二句是配置表情文件名,你得一个一个把表情的文件名列入其中。第三句是配置每行显示几个表情,默认是8个,建议不用改。第四句和第五句是插入表情窗口的宽和高。由于我这回把表情增加到40个,我需要把Height从240增到320,否则会出现下拉滚动条。

FCKConfig.SmileyPath = FCKConfig.BasePath + 'images/smiley/kds/' ;
FCKConfig.SmileyImages = ['ico01.gif','ico02.gif','ico03.gif', ... (此处省略一部分),'ico40.gif']
FCKConfig.SmileyColumns = 8 ;
FCKConfig.SmileyWindowWidth = 320 ;
FCKConfig.SmileyWindowHeight = 320 ;

先加几个试试,嘿嘿。

  常常在一些网站上下载某软件时,会提示“请不要盗链”之类的警告,然后就自动跳回该网站的首页上去了。至少我是经常碰到这种情况的,明明是从google上搜索到后链上去的,却提示我不要盗链,觉得很可笑,也很无奈。

  其实对策也很简单,临时关掉Norton Internet Security(简称为NIS),重新刷一遍这个页面,就能正常下载了。其中的原因是什么呢?我猜想有一种可能是该网站用了cookie认证。但是如果关掉NIS,只要打开一次这个页面,也能下载,说明这不是通过cookie验证的(对WEB/HTTP不太懂的朋友,其中的原因可能一下子听不太懂)。

  还有一种可能是什么呢?是HTTP_REFERRER(由于初期开发人员的拼写错误,这个词在一部分学科中仍被称作HTTP_REFERER。即,少了一个R)。中文可以称作“引用页”。即,验证你先前是从哪个页面上来到当前这个页面的。NIS里面是有这方面的拦截技术在里面的,所以HTTP_REFERRER信息在跳转时被NIS强行截掉了。于是造成了对方判断你是直接下载该软件,而不是通过先打开某网页,然后点击链接下载软件的做法。

  这是一些网站防盗链的做法,由此也看出是一种很失败的做法(对使用NIS的用户来说,非常麻烦,只能通过临时禁用NIS的方法解决)。

  再举一个例子:www.r-file.com。这是一个日本色情网站。比如,打开 http://www.r-file.com/free/view.php?ID=r233&P=0&N=01.jpg ,如果你打开这个网页,可以看到一张图片。右键点击一下,得到图片的URL为: http://www.r-file.com/free_photo/r233/sample/1/01.jpg 。但是,如果你按这个得到的图片URL重载一遍的话,你会得到一个出错的代码:Forbidden: You don't have permission to access /free_photo/r233/sample/1/01.jpg on this server. 匪夷所思吧?嘿嘿。其实这里面就是HTTP_REFERRER在搞鬼,对方网站开了HTTP_REFERRER验证处理。这也是图片下载防盗链的做法。

  下面谈谈如何突破这种防盗链技术。既然问题的根本原因已经找到了,对策也简单:发送HTTP_REFERRER。只可惜要实现这样的功能,一般的HTML/Javascript是办不到的。一、用PHP、Perl等专业的语言才可以达到。二、PHP、Perl之类的太专业,我们手头的一类软件也可以达到:FlashGet。迅雷之类的应该也可以。不过本人只支持FlashGet,毕竟FlashGet才是老牌的下载利器。

  启动Flashget,打开“新建下载任务”页面,“网址”栏里填入“http://www.r-file.com/free_photo/r233/sample/1/01.jpg”,哈哈,点击OK。图片就可以下载了。但是,你有没有注意到“新建下载任务”页面的第二行“引用”栏里(这就是设置HTTP_REFERRER的地方),什么也没设置,为什么就成功了呢?这个你只要看一下FlashGet的日志就明白了。

Wed Nov 26 20:34:24 2008 已连接.
Wed Nov 26 20:34:24 2008 GET /free_photo/r233/sample/1/01.jpg HTTP/1.1
Wed Nov 26 20:34:24 2008 Host: www.r-file.com
Wed Nov 26 20:34:24 2008 Accept: */*
Wed Nov 26 20:34:24 2008 Referer: http://www.r-file.com/free_photo/r233/sample/1
Wed Nov 26 20:34:24 2008 User-Agent: Mozilla/4.0 (compatible; MSIE 5.00; Windows 98)
Wed Nov 26 20:34:24 2008 Pragma: no-cache
Wed Nov 26 20:34:24 2008 Cache-Control: no-cache
Wed Nov 26 20:34:24 2008 Connection: close
Wed Nov 26 20:34:24 2008 HTTP/1.1 200 OK

  看到了吗?FlashGet有自动添加HTTP_REFERRER的功能。自动添加引用页的功能也可以取消,虽然几乎没人会这么做。设置位置在“选项”->“协议”->“HTTP”部分->“发送引用页”。这个设置是默认是打开的。

   另外提一下,将HTTP_REFERRER设置为http://www.r-file.com/free_photo/r233/sample/1和设置为http://www.r-file.com是相同的。不信你可以自己试试。这只证明访问该图片时是通过访问上述URL后才进行的,即都是来自www.r-file.com。这也是防盗链技术的来源。

   最后提一下,本站的图片及软件下载也都是防盗链的。不过我的博客上没啥特别的东西,别盯住我了。有兴趣研究一下www.r-file.com吧。哈哈。

SGM年度新款车型 - new Regal 新君威 广告预热,创意确实酷~!

Tags: , , ,
分页: 1/2 第一页 1 2 下页 最后页 [ 显示模式: 摘要 | 列表 ]