《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. hdu 3667(最小费用最大流+拆边)

    Transportation Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)To ...

  2. (翻译)与.NET容器映像保持同步

    原文:https://blogs.msdn.microsoft.com/dotnet/2018/06/18/staying-up-to-date-with-net-container-images/ ...

  3. HTTP Status 500 - Handler processing failed; nested exception is java.lang.NoClassDefFoundError: Could not initialize class sun.awt.X11GraphicsEnvironment

    解决方案:修改catalina.sh 文件加上-Djava.awt.headless=true JAVA_OPTS="$JAVA_OPTS $JSSE_OPTS -Djava.awt.hea ...

  4. vmware漏洞之四:简评USE-AFTER-SILENCE: EXPLOITING A QUIETLY PATCHED UAF IN VMWARE

    转:https://www.zerodayinitiative.com/blog/2017/6/26/use-after-silence-exploiting-a-quietly-patched-ua ...

  5. 洛谷P2520向量

    题目传送门 看到数据范围其实就可以确定这是一道结论题. 首先分析,给定你的向量的两个坐标a,b有八种组合方式可以用,但实际上整理一下可以得出实际上只有五种,x/y ±2a,x/y ±2b,x+a,y+ ...

  6. 洛谷——P2121 拆地毯

    P2121 拆地毯 题目背景 还记得 NOIP 2011 提高组 Day1 中的铺地毯吗?时光飞逝,光阴荏苒,三年过去了.组织者精心准备的颁奖典礼早已结束,留下的则是被人们踩过的地毯.请你来解决类似于 ...

  7. 面向对象编程课程(OOP)第一单元总结

    漫长旅程中还算不错的开头 在本学期开始之前,我按照助教们所给的寒假作业指导书自学了Java语言的相关知识,了解了Java语言的基本语法,输出一句“Hello World!”,掌握了基本的一些输入输出方 ...

  8. run()和start()的区别

    run没有启新的线程,start方法才会调用Thread的native的start0方法,start0会调用run方法,开启新的线程,博主这么做,不是多线程顺序执行,而是把业务阻塞在主线程里.请打印: ...

  9. 【BZOJ 1018】【SHOI 2008】堵塞的交通traffic

    http://www.lydsy.com/JudgeOnline/problem.php?id=1018 线段树维护连通性. 把每一列看成一个节点,对于线段树上的每一个节点,维护8个信息,前6个字面意 ...

  10. 【BZOJ 1004】【HNOI 2008】Cards

    http://www.lydsy.com/JudgeOnline/problem.php?id=1004 注意数据给出的m是一个没有单位元的置换群! 用Burnside引理,然后对每个置换群dp一下就 ...