《CKFinder2.0.2的使用与破解》 作者: 宓晨

       说下背景,发下牢骚!

       由于网站需要支持对图片的上传以及操作的管理,还有文字+图片的组合上传。问了一下同事并且上网逛了逛,找了个支持文字+图片的插件 【CKEditor(免费)】3.6.1版本。按照前人的配置,才发现最新版本【CKEditor】支持图片上传的功能已经移除了!2.几版本的都还能用 呢,这版本越高功能咋还越来越少了呢?!真他妈坑爹!!

(上半部分是CKEditor,下半部分是CkFinder。整合使用之后页面不需要CkFinder,红框里面的就是“广告”)

       百度之后,发现【CKEditor】3.6.1需要和【CkFinder(收费)】2.0.2整合进行使用。在网上找了N个方法,研究了能有1天半,也没 整合成功,我就纳闷那些帖子错了还是我错了。。。终于放弃新版本了,打算采用【CKEditor】2.几版本来做文字+图片组合上传的功能,图片上传管理就用【CKFinder】2.0.2弄了。

       先简单说一下【CKFinder】的配置。

      1. 下载CKFinder的Asp.NET版,将其解压到Web根目录下

      2. 复制/bin/Release目录下的ckfinder.dll文件至站点bin目录

      3. 精简目录:_samples文件夹(示例文件,可以删除),_source文件夹(源程序文件,可以删除)

      CKFinder的配置

      1. 打开 " \ckfinder\config.ascx ",为SetConfig方法中的BaseUrl 指定默认路径,如:

      // 以userfiles 为默认路径,其目录下会自动生成images、flash等子目录。

      BaseUrl = " ~/ckfinder/userfiles/",注意“~/ ”。

CKFinder的应用

1. 在工具栏中添加站点根目录bin目录中的ckfinder.dll控件

2. 拖放控件到Web页面

3. 修改CKFinder控件属性BasePath为ckfinder目录的相对路径

常见问题

1.因为安全原因,文件不可浏览。请联系系统管理员并检查CKFinder配置文件。

原因:未设置用户身份验证或者用户未登录。

解决:

在CKFinder的config.ascx文件中修改

public override bool CheckAuthentication()

{

return true;

}

2. 访问带有CKFinder的页面时报错“HTTP 错误 404 - Not Found”

解决:修改CKFinder控件的BasePath属性为ckfinder目录的相对路径

【】的配置:

打开ckeditor/config.js

CKEDITOR.editorConfig = function( config )
{

//添加的内容

}

添加的内容:

    config.filebrowserBrowseUrl = "ckfinder/ckfinder.html";
    config.filebrowserImageBrowseUrl = "ckfinder/ckfinder.html?Type=Images";
    config.filebrowserFlashBrowseUrl = "ckfinder/ckfinder.html?Type=Flash";
    config.filebrowserUploadUrl = "ckfinder/core/connector/aspx/connector.aspx?command=QuickUpload&type=Files";
    config.filebrowserImageUploadUrl = "ckfinder/core/connector/aspx/connector.aspx?command=QuickUpload&type=Images";
    config.filebrowserFlashUploadUrl = "ckfinder/core/connector/aspx/connector.aspx?command=QuickUpload&type=Flash";

(注:如果你的页面不在根目录下,打比方在Website1/A/B/下面,就需要改为../../../ckfinder/ckfinder.htm其他的配置代码l以此类推。你看一下所需要用到控件的页面在什么位置,算一下最多跳多少次到最上级目录,就加几个../)

自己总结或许以后有用:

  1. 修改文件存放位置:如果按照插件默认的设置,是在ckfinder\userfiles下,这极不方便维护与查找。修改ckfinder\config.ascx下BaseUrl = "文件存放的文件夹(这个文件夹下会自动生成File,images,flash文件夹,还有个thumb缓存文件夹,你上传任何文件都会再次出现在Thumb文件夹下形成缩略图)"
  2. 屏蔽Thumb文件夹:ckfinder\config.ascx下,删除以下代码可以不创建Thumb文件夹以及缩略图文件,大大减少磁盘占用空间。

        Thumbnails.Url = BaseUrl + "_thumbs/";

        if (BaseDir != "")

        {

            Thumbnails.Dir = BaseDir + "_thumbs/";

        }

        Thumbnails.Enabled = true;

        Thumbnails.DirectAccess = false;

        Thumbnails.MaxWidth = 100;

        Thumbnails.MaxHeight = 100;

        Thumbnails.Quality = 80;

3.     屏蔽File,images,flash文件夹:ckfinder\config.ascx下,

        type = ResourceType.Add("Files");

        type.Url = BaseUrl + "files/";

        type.Dir = BaseDir == "" ? "" : BaseDir + "files/";

        type.MaxSize = 0;

        type.AllowedExtensions = new string[] { “巴拉巴拉XXX很长的”};

        type.DeniedExtensions = new string[] { };

        type = ResourceType.Add("Images");

        type.Url = BaseUrl + "images/";

        type.Dir = BaseDir == "" ? "" : BaseDir + "images/";

        type.MaxSize = 0;

        type.AllowedExtensions = new string[] { "bmp", "gif", "jpeg", "jpg", "png" };

        type.DeniedExtensions = new string[] { };

        type = ResourceType.Add("Flash");

        type.Url = BaseUrl + "flash/";

        type.Dir = BaseDir == "" ? "" : BaseDir + "flash/";

        type.MaxSize = 0;

        type.AllowedExtensions = new string[] { "swf", "flv" };

        type.DeniedExtensions = new string[] { };

不想生成哪个文件夹,就删掉哪段代码即可。

破解去广告:

用记事本打开ckfinder.js,由于代码太多,用VS查看特卡。找到下方3~4处代码(默认是向下搜索,如果找不到选择向上搜索),删之...

if(!t)this.dV().aC(0).appendHtml(p);

if(N.files.length)N.fa=G;

if(a.bF&&1==a.bs.indexOf(a.bF.substr(1,1))%5&&I.toLowerCase().replace(a.jG,'')!=a.ed.replace(a.jG,'')||a.bF&&a.bF.substr(3,1)!=a.bs.substr((a.bs.indexOf(a.bF.substr(0,1))+a.bs.indexOf(a.bF.substr(2,1)))*9%(a.bs.length-1),1))w.app.msgDialog('',"\124\150\151\163\x20\146\x75\156\143\x74\151\157\x6e\x20\x69\x73\x20\144\x69\x73\141\x62\x6c\x65\x64\x20\x69\x6e\040\164\150\x65\x20\144\145\x6d\x6f\x20\x76\145\162\163\x69\157\156\040\157\146\040\x43\x4b\106\151\x6e\144\x65\x72\x2e\x3c\x62\162\x20\057\076\120\x6c\145\x61\x73\x65\x20\166\x69\163\151\164\040\164\150\x65\040\074\x61\040\150\162\x65\x66\075\x27\x68\164\x74\x70\x3a\057\x2f\143\153\146\x69\x6e\144\145\162\x2e\x63\x6f\155\x27\x3e\x43\113\106\151\156\x64\145\x72\040\167\x65\x62\040\163\x69\164\145\074\x2f\x61\x3e\040\164\157\040\x6f\142\164\x61\151\156\040\141\040\166\141\x6c\x69\144\x20\154\x69\143\x65\x6e\163\145\056");else

if(a.bF&&1==a.bs.indexOf(a.bF.substr(1,1))%5&&s.toLowerCase().replace(a.jG,'')!=a.ed.replace(a.jG,'')||a.bF&&a.bF.substr(3,1)!=a.bs.substr((a.bs.indexOf(a.bF.substr(0,1))+a.bs.indexOf(a.bF.substr(2,1)))*9%(a.bs.length-1),1))v.msgDialog('',"\x54\x68\x69\x73\x20\x66\x75\x6e\143\x74\151\x6f\x6e\x20\151\163\040\144\151\163\141\142\154\x65\x64\x20\151\x6e\040\x74\150\145\x20\144\145\155\x6f\040\x76\145\162\x73\151\157\x6e\040\x6f\146\x20\103\113\106\151\x6e\x64\145\x72\056\x3c\142\x72\040\057\076\x50\x6c\145\141\163\145\x20\x76\151\x73\151\164\040\164\150\145\040\074\x61\x20\150\x72\145\146\x3d\x27\150\164\164\x70\x3a\x2f\057\143\153\146\151\156\144\145\162\x2e\143\157\155\x27\x3e\103\x4b\106\x69\156\x64\x65\x72\040\x77\x65\x62\040\x73\151\x74\x65\074\057\141\076\x20\164\157\040\157\142\x74\141\151\x6e\040\x61\040\x76\x61\x6c\151\144\040\x6c\x69\x63\145\156\163\145\x2e");else

注:在网上看的查找什么”qu”,之后再注释的方法在新版本已经不适用了。1,2段代码可以很方便的搜索进行删除。3,4段代码我搜的是if(a.bF&&1,发现有3段以这个打头的代码,留下那个加密不太多的,删掉这两个超长加密的,这样就破解了。刚才在单位又重新做了一次,发现加密的地方只有1段了,而且盲文也变了,大家灵活着用吧。(看第一图和下图的区别:去广告,屏蔽Thumb、File、Flash文件夹)

举报

来源:宓晨

| 分享(7) | 浏览(21)

源地址: http://blog.renren.com/GetEntry.do?id=733642830&owner=225800820

CKFinder的_thumbs缓存文件夹的更多相关文章

  1. 如何移动 nuget 缓存文件夹

    本文告诉大家如何移动 nuget 缓存文件夹. 因为 nuget 文件夹一般比较大,现在我的 nuget 文件夹有 10 G,默认的 nuget 文件夹是在C盘,所以需要移动他. 可以使用下面的代码查 ...

  2. Android Studio 和 gradle 修改缓存文件夹路径

    Android Studio的缓存文件主要有四个文件夹,分别是 .android 这个文件夹是Android SDK生成的AVD(Android Virtual Device Manager)即模拟器 ...

  3. Firefox缓存文件夹位置设置及清除缓存方法

    地址栏敲入: about:config, 新建一个"browser.cache.disk.parent_directory", 并设置为你要的缓存文件夹, 例如:  "F ...

  4. 酷狗音乐盒缓存文件夹KuGouCache的设置方法

    1.每次一打开酷狗总能在E盘里找到这个 KuGouCache 文件夹 ,是自动生成的MV缓存文件 .按照常规 ,可以修改这个文件的办法是 找到C盘里的:用户\administrator\AppDate ...

  5. 通过映射缓存文件夹加速WPF的响应速度

    到了Visual Studio 2012时,WPF的设计器已经非常好用了,大多数的时候基本上可以抛弃Blend了.但是,仍然存在一些不令人满意的问题,那就是当项目非常大的时候,很多时候页面切换变得比较 ...

  6. iOS中计算磁盘缓存文件夹的大小

    SDWebImage框架中在自动做磁盘缓存的过程中,底层实现了计算Cache的大小,框架的方法名称是getSize,但方法不容易被人理解,我就从新写了一下,附带注释 基本思想: 1. 先取出的Cach ...

  7. ubunut系统清理系统根目录下缓存文件夹.cache超大导致磁盘不足

    在使用中突然发现系统超慢,没有做什么特别的操作. 只好重启下电脑,重启后提示系统空间不足1G.挨个查看文件夹大小,没有发现问题,然后就用Ctrl + H显示隐藏文件夹后再继续逐个查看大小,发现.cac ...

  8. Chrome---谷歌浏览器修改用户缓存文件夹 如何设置缓存路径

    1.首先我们在电脑上打开chrome浏览器,然后地址栏输入chrome://Version,然后按下回车键,找到个人资料路径一项. 2.接下来我们选中个人资料路径后面所有的信息,右键点击信息后选择“复 ...

  9. NuGet修改packages目录/迁移缓存文件夹

    如图,以下是NuGet默认配置 打开C:\Program Files (x86)\NuGet\Config目录的Microsoft.VisualStudio.Offline.config可以看见如下配 ...

随机推荐

  1. jQuery实现,动态自动定位弹窗。JS分页,Ajax请求

    工作中碰到一个问题,一个页面中碰到多个地方需要弹窗数据. 网上找了一圈,没有找到合适的,所以自己写了一个. 兼容IE7+,chrome.其它未测试. 需求:点击任意的输入框(也可其它元素,代码中有注释 ...

  2. 【linux】crontab定时命令

    参考来源: http://blog.csdn.net/ariessurfer/article/details/7459183 http://www.jb51.net/LINUXjishu/19905. ...

  3. hdu 1203(01背包)被初始化坑惨了

    I NEED A OFFER! Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)T ...

  4. js里给变量拼接双引号

    先来看一下最终效果: 但是p标签是要用js生成的.data_attr自定义属性值是一个变量. var data='qq289483936'; var p='<p data_attr='+data ...

  5. Linux(CentOS)下的JDK的安装和环境配置

    下载对应版本JDK,如jdk-6u45-linux-i586-rpm.bin添加执行权限:#chmod +x jdk-6u45-linux-i586-rpm.bin安装:#./jdk-6u45-lin ...

  6. 在浏览器中输入url地址 -> 显示主页的过程

    -来自<图解HTTP> 最近在进行前端面试方面的一些准备,看了网上许多相关的文章,发现有一个问题始终绕不开: 在浏览器中输入URL到整个页面显示在用户面前时这个过程中到底发生了什么.仔细思 ...

  7. 使用0填充string(构造类似‘00001’的字符串)

    今天在对视频进行爬取的时候,发现url最后是000001,然后是000002,依次增加,而且每一个url请求只能得到一个分段了的视频,这种情况下构造url就成了一个问题. python有一个函数可以处 ...

  8. 【应用】wamp3.x.x设置,让外网能够访问本服务器

    开始教程前,先来看一看本机的运行环境. WAMP 32位版 3.0.6 WIN7 x86 企业版 其他VC运行库全部安装,NET装了3.5以及4.0,还有一些运行库这里省略 ——我是华丽的分割线——— ...

  9. 【java回调】同步/异步回调机制的原理和使用方法

    回调(callback)在我们做工程过程中经常会使用到,今天想整理一下回调的原理和使用方法. 回调的原理可以简单理解为:A发送消息给B,B处理完后告诉A处理结果.再简单点就是A调用B,B调用A. 那么 ...

  10. Python开发基础-Day24socket套接字基础2

    基于UDP的socket 面向无连接的不可靠数据传输,可以没有服务器端,只不过没有服务器端,发送的数据会被直接丢弃,并不能到达服务器端 #客户端 import socket ip_port=('127 ...