《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. 《java并发编程实战》读书笔记2--对象的共享,可见性,安全发布,线程封闭,不变性

    这章的主要内容是:如何共享和发布对象,从而使它们能够安全地由多个线程同时访问. 内存的可见性 确保当一个线程修改了对象状态后,其他线程能够看到发生的状态变化. 上面的程序中NoVisibility可能 ...

  2. Django基础之form组件

    Form介绍 我们之前在HTML页面中利用form表单向后端提交数据时,都会写一些获取用户输入的标签并且用form标签把它们包起来. 与此同时我们在好多场景下都需要对用户的输入做校验,比如校验用户是否 ...

  3. Balanced Binary Tree——经典题

    Given a binary tree, determine if it is height-balanced. For this problem, a height-balanced binary ...

  4. python读写xml文件

    python读取xml文件 xml文件是具有树状结构的,如果想要访问某个叶子结点,必须逐层获取其父结点,要读取某个叶子结点内容用text成员 使用前先加载xml工具包 try: import xml. ...

  5. Mysql 中的Text字段的范围

    mysql中text 最大长度为65,535(2的16次方–1)字符的TEXT列.如果你觉得text长度不够,可以选择 MEDIUMTEXT最大长度为16,777,215. LONGTEXT最大长度为 ...

  6. thinkphp之url的seo优化

    1.网站url做seo优化的原因 SEO是由英文Search Engine Optimization缩写而来, 中文意译为“搜索引擎优化”.SEO是指通过对网站进行站内优化(网站结构调整.网站内容建设 ...

  7. If you want to allow applications containing errors to be published on the server

    If you want to allow applications containing errors to be published on the server, enable the Allow ...

  8. [LOJ2553]暴力写挂

    锟题x2 以下用$a\rightarrow b$表示端点为$a,b$的链 把式子写成$(h_1(x)+h_1(y)-h_1(lca))-h_2(lca')$,第一部分就是$x\rightarrow r ...

  9. 【穷竭】POJ3187-Backward Digit Sums

    [思路] 利用杨辉三角形,每一个数字被加的次数等于它在杨辉三角形中对应的那个数字.注意这道题的意思是,最底层是N的全排序,而不是指1..10都可以.生成杨辉三角形的时候第一次我用了二重循环模拟生成,后 ...

  10. Java学习笔记(10)

    目前多态情况下不能访问子类特有的成员 如果需要访问子类特有的成员,那么需要进行类型强制转换,转换为子类的类型然后再进行调用 基本数据类型的转换: 小数据类型------------->大数据类型 ...