《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. 打开 " ckfinderconfig.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以此类推。你看一下所需要用到控件的页面在什么位置,算一下最多跳多少次到最上级目录,就加几个../)
自己总结或许以后有用:
- 修改文件存放位置:如果按照插件默认的设置,是在ckfinderuserfiles下,这极不方便维护与查找。修改ckfinderconfig.ascx下BaseUrl = "文件存放的文件夹(这个文件夹下会自动生成File,images,flash文件夹,还有个thumb缓存文件夹,你上传任何文件都会再次出现在Thumb文件夹下形成缩略图)"
- 屏蔽Thumb文件夹:ckfinderconfig.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文件夹:ckfinderconfig.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('',"124150151163x20146x75156143x74151157x6ex20x69x73x20144x69x73141x62x6cx65x64x20x69x6e 40164150x65x20144145x6dx6fx20x76145162163x69157156 40157146 40x43x4b106151x6e144x65x72x2ex3cx62162x20 57 76120x6c145x61x73x65x20166x69163151164 40164150x65 40 74x61 40150162x65x66 75x27x68164x74x70x3a 57x2f143153146x69x6e144145162x2ex63x6f155x27x3ex43113106151156x64145x72 40167x65x62 40163x69164145 74x2fx61x3e 40164157 40x6f142164x61151156 40141 40166141x6cx69144x20154x69143x65x6e163145 56");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('',"x54x68x69x73x20x66x75x6e143x74151x6fx6ex20151163 40144151163141142154x65x64x20151x6e 40x74150145x20144145155x6f 40x76145162x73151157x6e 40x6f146x20103113106151x6ex64145x72 56x3c142x72 40 57 76x50x6c145141163145x20x76151x73151164 40164150145 40 74x61x20150x72145146x3dx27150164164x70x3ax2f 57143153146151156144145162x2e143157155x27x3e103x4b106x69156x64x65x72 40x77x65x62 40x73151x74x65 74 57141 76x20164157 40157142x74141151x6e 40x61 40x76x61x6c151144 40x6cx69x63145156163145x2e");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