CKFinder破解的方法(删除This is the demo version of CKFinder)

 

  在使 用FCKEditor时发现浏览服务器文件不方便,后来发现CKFinder可 以和其配合使用而且支持预览图片,感觉很不错,可惜CKFinder在 允许你免费使用的同时,窗口始终有一个“This is the demo version of CKFinder. Click here to visit our web site.”的 提示,很是不爽,毕竟这个思路还简单,这种情况一般是显示一个DIV层或table,取消的办法无非是隐藏或不让这段内容添加到对象上即可。

------------------

核心修改代码:

很简单,只要修改两个文件,就可以

\ckfinder\core\js\ckfinder_gecko.js

\ckfinder\core\js\ckfinder_ie.js

这两个文件里都有这样代码

en.call(window,qo);

注释掉就一切完工了 /* ... */

-------------

   经 过分析发现ckffiles.html“<td id="qu" style="height: 100%"></td>”有很多嫌疑,基本可以确定是放上面那句话的容 器,对ckfinder_ie.js分析,有锁定下面代码var D=B.createElement('iframe');D.src=bJ;D.frameBorder=0;D.width=D.height='100%';en.call(window,'\x76\x61\162\40\145\106\73');eF=B.getElementById('qu');if ((1==(dK.indexOf(ab.bW.substr(1,1)) % 5)&&window.top[qC+'\143\141\x74\x69\157\x6E'][qF+'\163\x74'].toLowerCase()!=ab.eo)||ab.bW.substr(3,1)!=dK.substr(((dK.indexOf(ab.bW.substr(0,1))+dK.indexOf(ab.bW.substr(2,1)))*9) % (dK.length-1),1)){/*en.call(window,qo);*/};eF.appendChild(D); 我们只需要把红色部分注释掉就 OK!

    另 外,为了让CKFinderFCKEditor完 美配合,可以修改CKFinder代码使其默认FilesImagesFlashsFCKEditor保持一直,总之有了代码你可以修改你想要的。

 

禁用ckeditor+ckfinder的“浏览服务器”按钮

ckeditor是个NB的开发网站用的文本编辑器,但是它的编辑器中的图片文件上传功能并没有直接写在ckeditor中,需要安装一个 ckfinder的网站文件管理系统来实现文本编辑器的上传功能。关于ckeditor+ckfinder的配置网上一堆就不赘述了。在配置好之后,文件 上传功能实现,但是就为了实现一个上传功能就安装一个并不怎么需要的ckfinder似乎有些代价惨重,所以网上有人写出了轻量级的单纯上传功能的组件配 合ckeditor来使用。我这里出于上传文件的安全考虑(毕竟ckfinder是官方开发的,在安全方面绝对没的说),还是选择了比较臃肿的 ckfinder。
而我的需求是仅仅需要ckfinder的上传功能,我并不想要ckfinder的文件管理功能。当然,官方提供了禁用此功能的办法,它的实现原理是通过配 置ckfinder的config文件,以PHP为例,可以在config.php中加入SESSION认证来分配AccessControl的权限。这 里很简单就不说了,总之从服务器端可以很好的控制文件上传的权限与安全。但是这里问题就出现了,如此修改之后,点击ckeditor上传图片或者上传文件 或者上传FLASH时,那个“浏览服务器”的按钮还会存在,点击后还会进入文件管理网页,在权限配好的情况下只不过你什么都看不见了。这证明服务器端已经 从功能上成功的禁用了浏览服务器功能。
但是,一个完美的网站怎么能有一个这么屎的没用的而且容易让用户产生“网站开发人员技术很面”的按钮呢?!
于是我开始了弄掉这些个“浏览服务器”按钮的想法。经过一下午,终于有一种方案成功了。。

实现原理:
经过对ckeditor源代码的分析,因为我看的是压缩后的,所以看的比较吐血。所以产生按钮节点的语句我没找到,所以不能阻止按钮的生成,不过它的 STYLE被我找到了,加了若干个DISPLAY:NONE;后,问题得以解决!

实现方法:
由于ckeditor中的"上传图片""上传文件""上传FLASH” 三个功能中都有“浏览服务器”按钮,所以我们要修改3个JS文件,先打开ckeditor文件夹中的ckeditorpluginsimage dialogsimage.js文件,CTRL+F,搜索"browseServer”,找到该词第一次出现的位置,在后面添加双引号内的内 容",style:'display:none;'"。如下图:

再搜索"filebrowser",找到该词第二次出现的位置,如下图填入



CTRL+S保存该JS文件,出去刷新下自己的ckeditor,点击图片上传按钮后,你会发现浏览服务器按钮不见了。

下面去弄掉文件上传中的“浏览服务器”按钮。
打开ckeditorpluginslinkdialogslink.js文件,还是搜索"browseServer"第一次出现的地方,如下图 插入
双引号内的内容",style:'display:none;'"。

CTRL+S保存该JS文件,出去刷新下自己的ckeditor,点击“链接”按钮后,你 会发现“文件上传选项”中的浏览服务器按钮不见了。

最后弄掉上传FLASH中的浏览服务器按钮,打开ckeditorpluginsflashdialogsflash.js文件,还是搜 索"browseServer"第一次出现的地方,如上图位置处插入双引号内的内容",style:'display:none;'"。(这个和上面的几 乎一样,就不截图了)。CTRL+S保存该JS文件,出去刷新下自己的ckeditor,点击“上传FLASH”按钮后,你会发 现浏览服务器按钮不见了。

至此,一个从前端到后台,浏览服务器被全面禁用了的 ckeditor诞生了!