精华内容
下载资源
问答
  • CKFinder

    千次阅读 2010-04-27 12:39:00
    这几天把一个旧项目中的fckeditor升级为ckeditor 3.2 + ckfinder 1.4.3 组合,下面是一些升级心得:一、CKFinder的若干问题1.单独使用ckfinder从原fckeditor分离出来以后可以单独使用,通常我习惯于在工具栏中添加...

    这几天把一个旧项目中的fckeditor升级为ckeditor 3.2 + ckfinder 1.4.3 组合,下面是一些升级心得:

    一、CKFinder的若干问题

    1.单独使用
    ckfinder从原fckeditor分离出来以后可以单独使用,通常我习惯于在工具栏中添加ckfinder.dll,这样以后要使用ckfinder直接从工具箱拖出来即可.
    [图片] 
    拖到页面中后,会形成这样一个控件实例:

    <CKFinder:FileBrowser ID="FileBrowser1" runat="server"></CKFinder:FileBrowser>

    2.上传文件自动重命名
    修改ckfinder的源文件,找到Connector/CommandHandlers/FileUploadCommandHandler.cs这个文件,定位到:

    string sExtension = System.IO.Path.GetExtension( oFile.FileName ); sExtension = sExtension.TrimStart( '.' );

    在下面加一行代码:

    sFileName = DateTime.Now.ToString("yyyyMMddHHmmssfff") + "." + sExtension;

    即强制把文件名改为时间格式字符串.

     

    3.上传安全问题

    3.1 跟fckeditor类似,默认情况下ckfinder是不允许上传的,找到config.ascx这个文件,定位到

    public override bool CheckAuthentication() { return false; }

     在这里加入自己需要的判断逻辑,千万不要直接改成return true;这样相当于免费把自己的服务器变成一个网络硬盘+肉鸡,任何人都可以直接上传任何文件(包括木马),起码也得类似下面这样:

    public override bool CheckAuthentication() { return HttpContext.Current.User.Identity.IsAuthenticated; }

    如果您是用membership/role来认证的,上面代码要求用户登录后才能使用ckfinder的上传功能.

     

    3.2 文件扩展名校验

    默认情况下,ckfinder几乎能上传任何文件,所以设置允许上传的文件扩展名是必需的,ckfinder采用了黑白名单的做法,即同时可以设置"允许上传的扩展名"及"禁止上传的扩展名",config.ascx中可参考下面这样设置:

    ResourceType type; type = ResourceType.Add("Zip"); ... type.AllowedExtensions = new string[] { "zip" }; type.DeniedExtensions = new string[] {"asp","aspx","jsp","php","ashx","js","html","htm" }; ...

    这一段设置相当于只允许.zip文件上传,同时禁止.asp,.aspx...之类的服务端文件上传

     

    3.3 MIME类型/ContentType校验

    光有扩展名校验是远远不够的,比如在asp时代就有一种经典的攻击方式:

    a.先把asp木马文件扩展名改成.jpeg之类(这样就能绕过扩展名检验)
    b.然后利用其它发包工具(或直接用ckfinder的上传功能),上传"伪jpeg"文件
    c.如果网站还支持html代码的留言(或产品编码,个人简介编辑等),写上这样一行代码

    <!--inlude file = "xxx.jpeg"-->

    这里xxx.jpeg即上传后的"伪jpeg"木马,如果服务端允许包含文件的话,浏览包含这行代码的页面,木马就能运行了!

    为了防止这类攻击,必须要在服务端做MIME/ContentType校验,因为文件的扩展名不管改成什么,其内在的MIME/ContentType是不会变的,修改方法:

    定位到Settings/ResourceType.cs,找到

    public string[] AllowedExtensions; public string[] DeniedExtensions;

    再增加二个数组

    public string[] AllowedMIMETypes; public string[] DeniedMIMETypes;

    相应的构造函数也加初始化代码:

    AllowedMIMETypes = new string[0]; DeniedMIMETypes = new string[0];

    然后再增加一个方法:

    public bool CheckMIMEType(string mimeType) { mimeType = mimeType.Trim().ToLower(); if (DeniedMIMETypes.Length > 0) { if (Array.IndexOf(this.DeniedMIMETypes, mimeType) >= 0) { return false; } } if (AllowedMIMETypes.Length > 0) { return (Array.IndexOf(this.AllowedMIMETypes, mimeType) >= 0); } else { return true; } }

    然后定位到Connector/CommandHandlers/FileUploadCommandHandler.cs,找到:

    if (!this.CurrentFolder.ResourceTypeInfo.CheckExtension(sExtension)) { ConnectorException.Throw(Errors.InvalidExtension); }

    然后加上:

    string sFileMIME = oFile.ContentType; if (!this.CurrentFolder.ResourceTypeInfo.CheckMIMEType(sFileMIME))//检测上传文件的MIME类型 { ConnectorException.Throw(Errors.InvalidMIMEType); }

    最后再修改config.ascx,加上MIME类型的黑白名单:

    ResourceType type; type = ResourceType.Add("Zip"); ... type.AllowedExtensions = new string[] { "zip" }; type.DeniedExtensions = new string[] {"asp","aspx","jsp","php","ashx","js","html","htm" }; type.AllowedMIMETypes = new string[] { "application/x-zip-compressed" }; type.DeniedMIMETypes = new string[] {"text/plain" };

    这样就相对就安全一些了(当然服务器端还可以进一步做安全处理,不过这个话题再展开就变成"服务器安全设置"专题了,不在本文的讨论范围,暂不深入)

    4.上传文件大小限制

    默认情况下ResourceType的构造函数里,MaxSize=0即不对上传文件大小做限制,所以只要在config.ascx里加上限制就行了

    type = ResourceType.Add("Zip"); ... type.MaxSize = 0;

    即把这里的MaxSize改成想要的值即可(以字节为单位计算),注意:ResourceType虽然有MaxSize成员,但其实上传代码中并未对上传文件大小做判断,而是在上传完成后生成缩略图时,才做了一次判断,如果需要在上传文件SaveAs以前就做判断处理,自行加一条if语句,比较oFile.ContentLength与MaxSize即可

    5.上传后缩略图无法正常显示

    这是ckFinder在windows系统中的一个小bug,定位到Settings/Thumbnails.cs,找到public string GetTargetDirectory()方法,改成下面这样:

    if (Dir.Length == 0 || Dir.Substring(0,1)!="/") //如果Dir为空,或者只是相对路径 { return HttpContext.Current.Server.MapPath(Url); } else { if (Dir.IndexOf("://") == -1)//如果不是物理路径 { return HttpContext.Current.Server.MapPath(Dir); } else { return Dir; } }

    6.动态指定上传路径

    默认情况下无法用cs代码修改config.ascx中的BaseUrl设置,因为其后端代码ConfigFile中并没有提供修改BaseUrl的方法,这里我借用了fckeditor以前的用法:利用session来动态处理

    public string DynamicBaseUrl { get { object _baseUrl = HttpContext.Current.Session["CKFinder:DynamicBaseUrl"]; if (_baseUrl == null || string.IsNullOrEmpty(_baseUrl.ToString())) { _baseUrl = "/ckfinder/userfiles/"; } this.BaseUrl = _baseUrl.ToString(); return this.BaseUrl; } }

    如上,在Settings/ConfigFile.cs中增加一个属性,让其从session中取值,然后再把config.ascx中的BaseUrl改成下面这样

    //BaseUrl = "/ckfinder/userfiles/"; BaseUrl = DynamicBaseUrl;

    最后在嵌入ckFinder的页面中类似这样处理:

    protected void Page_Load(object sender, EventArgs e) { Session["CKFinder:DynamicBaseUrl"] = "/upload/"; }

    7.CKfinder免费版本如何去掉“那啥”的提示

    打开core/js/ckfinder_ie.js,找到 {en.call(window,qo);},改成{/*en.call(window,qo);*/}即可

     

    二、与CKeditor的整合

    1.CKeditor的设置

    window.onload = function () { CKEDITOR.replace("editor1", { filebrowserBrowseUrl: '/ckfinder/ckfinder.html', //启用浏览功能 filebrowserImageBrowseUrl: '/ckfinder/ckfinder.html?Type=Image', filebrowserFlashBrowseUrl: '/ckfinder/ckfinder.html?Type=Flash', filebrowserUploadUrl: '/ckfinder/core/connector/aspx/connector.aspx?command=QuickUpload&type=Zip', filebrowserImageUploadUrl: '/ckfinder/core/connector/aspx/connector.aspx?command=QuickUpload&type=Image', filebrowserFlashUploadUrl: '/ckfinder/core/connector/aspx/connector.aspx?command=QuickUpload&type=Flash' }); }

    这样就可以了,需要说明的"ckfinder.html?Type=Image"上的Type=XXX,即对应CKFinder中Config.ascx的ResourceType设置,而且ResourceType的名称不能用中文名,否则在快速上传时无法上传到服务端。(很多地方是在html中以js方式接收参数的,改成中文后会导致乱码,从而无法正确定位目录,熟悉js的朋友如果想让其支持中文Type名,技术上讲应该是可以修改实现的)

    2.与Asp.Net默认安全性的冲突处理

    可参见上一篇博文,不再重复

    最后:CKFinder需要Session/ViewState,所以如果您的Asp.Net项目中禁用了Session或ViewState,可能会无法正常运行,解决办法要么启用Session/ViewState,要么自行修改CKFinder源代码

    展开全文
  • CKFinder,CKFinder的java版

    2016-05-08 15:47:43
    CKFinder,CKFinder破解版,CKFinder解决中文路径和乱码问题,采用时间戳的方式重命名文件和图片。这是java版,需要PHP版的请留言。
  • 下载ckfinder包配置ckfinderweb.xml 中配置如下CKFinderConnectorServletqnit.modules.ckfinder.CKFinderConnectorServletXMLConfig/WEB-INF/ckfinder.xmldebugfalseconfigurationqnit.modules.ckfinder....

    下载ckfinder包

    配置ckfinder

    web.xml 中配置如下

    CKFinderConnectorServlet

    qnit.modules.ckfinder.CKFinderConnectorServlet

    XMLConfig

    /WEB-INF/ckfinder.xml

    debug

    false

    configuration

    qnit.modules.ckfinder.CKFinderConfig

    1

    CKFinderConnectorServlet

    ckfinderconnector

    添加配置文件:

    /WEB-INF/ckfinder.xml

    添加配置实现类

    qnit.modules.ckfinder.CKFinderConfig

    ckfinder首先会获取ckfinder.xml中的配置,通过CKFinderConfig 类,可以动态定义其中的配置

    ckfinder上传

    当访问ckfinderconnector 这个路径时,CKFinderConnectorServlet 处理上传请求.

    上传流程:

    1.获取配置,如果没有配置则报Configuration wasn't initialized correctly. Check server logs 异常

    2.判断配置是否正确,true 如果为false则不会进行上传

    3.判断用户鉴权,可以CKFinderConfig 的checkAuthentication方法 自定义用户的鉴权,我只判断了用户是否登陆

    4.判断访问权限  中配置的访问权限 如果都设置为真则就可以访问

    5. 对文件名是否合法,存放的目录是否是隐藏等进行校验,对文件类型进行合法性校验

    ckeditor 与ckfinder结合使用

    ckeditor 中配置图片上传图片查询视频上传等的路径为ckfinder的路径如 config.fileuploadurl 等,当ckditor 上传图片时会自动提交到该路径

    ckfinder 中主要实现文件的查看上传等功能。ckfinder在文件里设置文件上传的路径

    

    展开全文
  • com.ckfinder

    2018-12-28 15:29:52
    com.ckfinder.apache-ant-zip、com.ckfinder.ckfinder、com.ckfinder.ckfinderplugin-fileeditor、com.ckfinder.ckfinderplugin-imageresize
  • CKFinder3.0.0

    2016-04-09 17:46:58
    本资源为CKFinder_PHP_3.0.0完整包,去除了界面上的DEMO提示,以及图片删除限 制。 备注:如非PHP脚本,解压后抽取ckfinder.js文件覆盖到官方原版。 声明:本补丁仅用于学习交流使用,请勿用于商业用途,请支持正版...
  • ckfinder2.4.2

    2015-07-20 20:11:32
    修改官方ckfinder 按照年月自动划分文件夹
  • ckfinder安装包

    2017-12-22 10:45:46
    ckfinder安装包 3.用注册机生成注册码,将它们全部复制下来替换C:\\Program Files (x86)\\ArcGIS\\License10.1\\bin\\service.txt中的内容,将其中的用户名 this_host 改为自己的计算机名,如SOLAR-PC。 4.在开始...
  • ckfinder.rar

    2020-08-12 16:24:13
    ckfinder包含的jar 有时候下载不到 就直接拿这个jar来用 好不好用 自己才知道 你值得拥有
  • ckfinder2.3.rar

    2020-07-20 10:59:31
    ckfinder Jar包,版本2.3,包含文件 1) apache-ant-zip-2.3.jar 2)ckfinder-2.3.jar 3)ckfinderplugin-fileeditor-2.3.jar 4)ckfinderplugin-imageresize-2.3.jar 5)CKFinder-uuid-2.6.0.jar 6)...
  • ckfinder获取时间戳

    2016-08-13 02:29:41
    ckfinder获取时间戳
  • CKEditor结合CKFinder

    2016-05-30 10:51:06
    CKEditor结合CKFinder
  • CKFinder-2.3

    2019-04-19 15:29:33
    CKFinder是一个易于使用的Ajax文件管理器。提供文件夹树形结构(Folders tree)导航菜单,多语言支持(自动探测用),支持创建/重命名/删除文件和文件夹,集成FCKeditor在线编辑器。该压缩包包含apache-ant-zip-2.3....
  • CKfinder简单应用

    2016-01-15 11:28:45
    ckfinder的简单应用,将资源导入myeclipse,访问ckfinderDemo/ckfinder/ckfinder.html就可以查看到
  • ckeditor + ckfinder

    2018-05-07 20:42:59
    CKeditor CKfinder 整合方案,清晰明了,供给有需要的伙伴!
  • ckfinder-2.3

    2018-03-17 10:42:06
    ckfinder-2.3 ckfinderplugin-fileeditor-2.3 ckfinderplugin-imageresize-2.3
  • 使用idea开发工具进行springboot集成ckfinder3.5.1的简单demo 使用idea开发工具进行springboot集成ckfinder3.5.1的简单demo
  • ckeditor和ckfinder

    2016-10-30 18:39:37
    ckfinder ckeditor 文本编辑器 图片上传
  • ckfinder ckedito

    2011-12-05 09:48:55
    ckfinder ckeditor asp.net 开发工具和学习资料
  • CKFinder Integration?

    2020-12-02 02:51:17
    Knowing that CKEditor is currently implemented I know this type of file management can be handled by the CKFinder plugin @ http://cksource.com/ckfinder. Possible to get CKFinder added as an ...
  • 直接使用后发现链接的connector地址报error,查看...CKFinder.FileBrowser _FileBrowser = new CKFinder.FileBrowser();//内设默认值,对应./ckfinder/,其他地址重新赋值就好 _FileBrowser.SetupCKEditor( CKEditor1 );
  • ckfinder_java_2.6.0

    2018-06-19 13:18:27
    ckfinder_java_2.6.0,ckfinder_java_2.6.0ckfinder_java_2.6.0ckfinder_java_2.6.0
  • ckfinder-2.3以及依赖

    2018-07-27 09:07:45
    ckfinder-2.3以及依赖ckfinder-2.3以及依赖ckfinder-2.3以及依赖
  • CKEditor & CKFinder

    2021-01-08 09:38:49
    d to use <a href="https://cksource.com/ckfinder">CKFinder</a> into CKEditor but I think that I need to modify your Bundle code to do that or there's any other way to do this? <p>I'll really ...
  • CKFinder 2.3.1 keygen

    2013-02-12 22:08:08
    CKFinder 2.3.1 keygen
  • CKFinder webp转换

    2019-04-11 14:09:33
    <p>My CKFinder is located in /CMS/public/ckfinder My vendor libs are located in /CMS/vendor <p>The thing is when I try to use $success = WebPConvert::convert($source, $destination)</code> within my ...
  • ckfinder使用

    千次阅读 2017-12-26 09:30:42
    ckeditor环境搭建 ,请参考 JSP中使用CKEditor3.6入门教程 ...JSP使用ckeditor和ckfinder实现富文本及上传功能 源码下载 一、下载 ckeditor下载地址为:http://ckeditor.com/download ckfind

     ckeditor环境搭建 ,请参考  JSP中使用CKEditor3.6入门教程
    JSP页面使用富文本控件ckeditor提交表单数据

    JSP页面使用富文本控件ckeditor自定义样式

    JSP使用ckeditor和ckfinder实现富文本及上传功能 源码下载

    一、下载
    ckeditor下载地址为:http://ckeditor.com/download
    ckfinder下载地址为:http://ckfinder.com/download

    二、解压你下载的ckeditor-java-x.x.zip 和ckfinder_java_x.x.zip这2个压缩文件

    将ckeditor-java-x.x.zip目录下的ckeditor文件夹和ckfinder_java_x.x.zip目录下的 ckfinder_java_x.x\ckfinder\_sources\CKFinderfor_Java\WebApp\src\main\webapp\ckfinder复制到你项目的Webroot根目录下

    三、将你下载的2个文件的lib目录下的包全部复制到你项目的lib下面

    四、ckfinder_java_x.x目录下的 ckfinder_java_x.x\ckfinder\_sources\CKFinderfor  Java\WebApp\src\main\webapp\WEB-INF目录下的config.xml文件复制到你项目的 Webroot\WEB-INF目录下,然后config.xml:
    将第一排的<enabled>false</enabled>改为<enabled>true</enabled>;
    将第三行的 <baseURL>/code/upload/</baseURL>
    (此处为你的上传文件存放路径,修改成你根目录下你想要存放的地方)此处我用的绝对路径,其中code是项目的名称,如果不这么写,上传图片获取的路径将是/upload/目录,导致无法正常显示图片。

    五、修改项目中的web.xml

    [html] view plain copy
    1. <?xml version="1.0" encoding="UTF-8"?>  
    2. <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"  
    3.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
    4.     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee   
    5.     http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">  
    6.     <servlet>  
    7.         <servlet-name>ConnectorServlet</servlet-name>  
    8.         <servlet-class>com.ckfinder.connector.ConnectorServlet</servlet-class>  
    9.         <init-param>  
    10.             <param-name>XMLConfig</param-name>  
    11.             <param-value>/WEB-INF/config.xml</param-value>  
    12.         </init-param>  
    13.         <init-param>  
    14.             <param-name>debug</param-name>  
    15.             <param-value>false</param-value>  
    16.         </init-param>  
    17.         <load-on-startup>1</load-on-startup>  
    18.     </servlet>  
    19.     <servlet-mapping>  
    20.         <servlet-name>ConnectorServlet</servlet-name>  
    21.         <url-pattern>  
    22.         /ckfinder/core/connector/java/connector.java  
    23.         </url-pattern>  
    24.     </servlet-mapping>  
    25.     <session-config>  
    26.         <session-timeout>10</session-timeout>  
    27.     </session-config>  
    28.   
    29.     <welcome-file-list>  
    30.         <welcome-file>index.jsp</welcome-file>  
    31.     </welcome-file-list>  
    32. </web-app>  


    六、配置完成后,在JSP页面通过taglib方式进行调用--index.jsp

    [java] view plain copy
    1. <%@ page language="java" import="java.util.*" pageEncoding="gbk"%>  
    2. <%@ taglib uri="http://ckeditor.com" prefix="ckeditor"%>     
    3. <%@ taglib uri="http://ckfinder.com" prefix="ckfinder"%>    
    4. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">  
    5. <html>  
    6.     <head>  
    7.         <script type="text/javascript">  
    8.             function test() {  
    9.                 //JavaScript判空,如果确定  
    10.                 var editor_data = CKEDITOR.instances.content.getData();  
    11.                 if(editor_data==null||editor_data==""){  
    12.                     alert("数据为空不能提交");  
    13.                 }else{  
    14.                     if(confirm(editor_data)){  
    15.                     document.myform.submit();  
    16.                     }  
    17.                 }         
    18.             }  
    19.         </script>  
    20.         <title>ckeditor富文本测试-- by jCuckoo</title>  
    21.     </head>  
    22.     <body>  
    23.         <form action="doTest.jsp" name="myform" method="post">  
    24.              <ckfinder:setupCKEditor editor="content" basePath="ckfinder/" />     
    25.              <ckeditor:editor basePath="ckeditor/"      
    26.                     editor="content" value="CKEditor Test......(此处的内容会在编辑器中显示)--by jCuckoo " />     
    27.               <input type="button" οnclick="test()" value="提交数据"/>  
    28.          </form>  
    29.     </body>  
    30. </html>  

    七、测试效果图

     

    八、接受页面doTest.jsp 代码及显示效果

    [java] view plain copy
    1. <%@ page language="java" import="java.util.*" pageEncoding="gbk"%>  
    2. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">  
    3. <html>  
    4.   <head>  
    5.     <title>获取传递的数据 -- by jCuckoo</title>  
    6.   </head>  
    7.   <body>  
    8.     <%request.setCharacterEncoding("gbk"); %>  
    9.     <%=request.getParameter("content") %>  
    10.   </body>  
    11. </html>  

     


    原博客地址

    展开全文
  • 最近在写一个类似博客的系统,使用了ckeditor和ckfinder,但是发现ckfinder在上传中文文件名的文件过程中会出现中文乱码的情况.于是百度google乎,发现大多数的解决办法都是将文件名称命名成时间.但可是可但是,我是一名...

    最近在写一个类似博客的系统,使用了ckeditor和ckfinder,但是发现ckfinder在上传中文文件名的文件过程中会出现中文乱码的情况.

    于是百度google乎,发现大多数的解决办法都是将文件名称命名成时间.但可是可但是,我是一名地道的中国人啊,为啥不行让我使用中文的文件名.

    研究下ckfinder.

    在core/connector/php/php5/CommandHandler/FileUpload.php内发现..大概53行左右.

    if (!isset($uploadedFile['name'])) {

    $this->_errorHandler->throwError(CKFINDER_CONNECTOR_ERROR_UPLOADED_INVALID);

    }

    $sUnsafeFileName = CKFinder_Connector_Utils_FileSystem::convertToFilesystemEncoding(CKFinder_Connector_Utils_Misc::mbBasename($uploadedFile['name']));

    //这行是调用了CKFinder_Connector_Utils_FileSystem::convertToFilesystemEncoding方法,转换了

    //名称,网上多数的方法是将这个名字变成日期命名.

    $sFileName = CKFinder_Connector_Utils_FileSystem::secureFileName($sUnsafeFileName);

    然后我试图改变这里的文件编码.

    增加了$uploadedFile['name'] = iconv(“utf-8″,”gbk”, $uploadedFile['name']);

    但是发现这样会导致上传的文件名称是正确的,但是在ckfinder里面显示的文件名称是错误的.

    于是乎去看这个convertToFilesystemEncoding方法,这个方法在,core\connector\php\php5\Utils\FileSystem.php中

    404-427行,

    public static function convertToConnectorEncoding($fileName)

    {

    $_config =& CKFinder_Connector_Core_Factory::getInstance("Core_Config");

    $encoding = $_config->getFilesystemEncoding();

    if (is_null($encoding) || strcasecmp($encoding, "UTF-8") == 0 || strcasecmp($encoding, "UTF8") == 0) {

    return $fileName;

    }

    if (!function_exists("iconv")) {

    if (strcasecmp($encoding, "ISO-8859-1") == 0 || strcasecmp($encoding, "ISO8859-1") == 0 || strcasecmp($encoding, "Latin1") == 0) {

    return utf8_encode($fileName);

    } else {

    return $fileName;

    }

    }

    $converted = @iconv($encoding, "UTF-8", $fileName);

    if ($converted === false) {

    return $fileName;

    }

    return $converted;

    }

    函数大概的意思是   首先拿到配置文件里面配置的当前系统编码.

    如果设置的为utf8 那么直接输出,如果设置的是ISO-8859-1,编码后输出,如果设置的是其他的编码,那么通过iconv函数转换后输出.

    打开配置文件,根目录下的config.php.找到这个配置选项.大概在258行.将原始的utf-8改成gbk(简体中文window7系统.),中文乱码问题顺利解决.

    这个配置到底应该怎么配置.取决于你当前系统对中文文件名称的编码.默认的windows系统应该是gbk,如果是linux系统.在没设置的情况下是utf8  也有可能设置成了gbk.简单修改配置文件,

    问题就能够得到解决.

    展开全文

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,060
精华内容 824
关键字:

ckfinder