当前位置: 首页 > 工具软件 > FCKeditor > 使用案例 >

FCKEditor 使用

刁茂才
2023-12-01

看大家要FCKeditor上传设置的部分,所以仔细找了下,以前看到别人说FCKeditor有上传漏洞,所以一直没有用过此功能!希望能够解决大家的问题!

因版本更新问题,可能具体行数不一致,请大家仔细修改!谢谢大家的关注!

FCKeditor目前已经更新到2.4.2版,详情请看官方http://www.fckeditor.net/

上传文件设置简洁
fckconfig.js
134 135 行
[code]
var _FileBrowserLanguage         = 'php' ;         // asp | aspx | cfm | lasso | perl | php | py   
var _QuickUploadLanguage         = 'php' ;         // asp | aspx | cfm | lasso | php[/code]
第一个是文件浏览器使用的语言,第二个快速上传使用的语言,改成你需要的。注释是参考值
139行:
[code]
var _FileBrowserExtension = _FileBrowserLanguage == 'perl' ? 'cgi' : _FileBrowserLanguage ;
[/code]
不要去管。

141行

[code]
FCKConfig.LinkBrowser = false ; 是否在链接功能里面启用服务器文件浏览功能[/code]
158 159的

[code]
FCKConfig.LinkUploadAllowedExtensions         = "" ;                         // empty for all
FCKConfig.LinkUploadDeniedExtensions =".(php|php3|php5|phtml|asp|aspx|ascx|jsp|cfm|cfc|pl|bat|exe|dll|reg|cgi)$"
[/code]
这是两个允许和拒绝上传的文件类型列表,注意是正则表达式,在这个文件里设置的扩展名列表是在客户端进行判断的。
相应的其他类型还有各自的列表
146

[code]
FCKConfig.ImageBrowser = false ;是否在插入图片功能里面启用服务器文件浏览功能
FCKConfig.ImageBrowserURL = FCKConfig.BasePath + 'filemanager/browser/default/browser.html?Type=Image&Connector=connectors/' + _FileBrowserLanguage + '/connector.' + _FileBrowserExtension ;

[/code]
注意?Type=Image   表示文件类型是image这会使文件浏览器定位到文件上传路径/image/文件夹下面

[code]
FCKConfig.FlashBrowser = false ;是否在插入flash功能中启用服务器文件浏览功能
[/code]
相应的type=flash 不再多说
156
FCKConfig.LinkUpload = false ;是否启用插入链接的快速上传功能
161
FCKConfig.ImageUpload = false ;是否启用图片快速上传功能
166
FCKConfig.FlashUpload = false ;是否启用flash上传功能

服务器文件设置
文件浏览器的设置:
FCKeditor\editor\filemanager\browser\default\connectors\
asp/
config.asp设置
23 行

[code]
ConfigIsEnabled = true 决定是否启用文件浏览器。这个是在服务器上执行的
27行
ConfigUserFilesPath = "/test/upload/" 上传文件的路径(相对的)

[/code]

[code]
ConfigAllowedExtensions.Add         "File", ""
ConfigDeniedExtensions.Add         "File", "php|php2|php3|php4|php5|phtml|pwml|inc|asp|aspx|ascx|jsp|cfm|cfc|pl|bat|exe|com|dll|vbs|js|reg|cgi"

ConfigAllowedExtensions.Add         "Image", "jpg|gif|jpeg|png|bmp"
ConfigDeniedExtensions.Add         "Image", ""

ConfigAllowedExtensions.Add         "Flash", "swf|fla"
ConfigDeniedExtensions.Add         "Flash", ""

ConfigAllowedExtensions.Add         "Media", "swf|fla|jpg|gif|jpeg|png|avi|mpg|mpeg|mp(1-4)|wma|wmv|wav|mid|midi|rmi|rm|ram|rmvb|mov|qt"
ConfigDeniedExtensions.Add         "Media", ""

[/code]
这是4个不同的filetype类型 分别对应了 前台编辑器的 插入链接 插入图片 插入flash 插入媒体 4个功能

[code]
connecter.asp中 最后一个函数 116行
Function IsAllowedType( resourceType )
         Dim oRE
         Set oRE         = New RegExp
         oRE.IgnoreCase         = True
         oRE.Global                 = True
         oRE.Pattern                 = "^(File|Image|Flash|Media)$" ‘这里也是文件类型
        
         IsAllowedType = oRE.Test( resourceType )
        
         Set oRE         = Nothing
End Function

[/code]
这里的文件类型与上面提到的两处文件类型是一致的要改必须许全改


快速上传:
FCKeditor\editor\filemanager\upload\
asp\
23 ConfigIsEnabled = False
是否启用快速上传
27   ConfigUserFilesPath = "/UserFiles/"
如果想上传到 /test/upload/yyymmdd/的文件夹下面
则修改为 ConfigUserFilesPath = "/test/upload/" & year(now())& right("0"& month(now()),2)&right("0" & day(now()),2)

php与asp 不同的地方

php上传设置

FCKeditor\editor\filemanager\browser\default\connectors\php下面
config.php

[code]
$Config['Enabled'] = true ; 启用上传

$Config['UserFilesPath'] = '/test/upload/' ; url显示出来的路径,

$Config['UserFilesAbsolutePath'] = 'e:/web/upload' ;服务器上的真实路径,建议配置上这个。否则可能出现失去响应的情况

[/code]
相应文件类型设置:39-40行
connector.php
71行

[code]
         if ( !in_array( $sResourceType, array('File','Image','Flash','Media') ) )
                 return ;

[/code]
表示文件类型

快速上传FCKeditor\editor\filemanager\upload\php
config.php

[code]
$Config['Enabled'] = true ;//启用

// Path to uploaded files relative to the document root.
$Config['UserFilesPath'] = '/test/upload/' ;这是url相对文档根

$Config['UserFilesAbsolutePath'] = 'e:/web/upload/' ;这才是服务器上的绝对路径 建议与上面u那个路径同时都配置上,如果出现了php上传没有反映的问题则可能是这个没有配置。

[/code]
说明
文件上传有两种模式,一种是服务器文件浏览模式,在该模式下可以浏览服务器上的文件,创建新文件夹。另一种是快速上传,在该模式下不能选择上传位置。

fck默认在文件浏览模式下文件路径是:你配置的服务器路径 + 文件类型 +当前文件夹 + 文件名
fck在快速上传模式下的文件路径是:你配置的服务器路径+文件名
可以看出少了一个文件类型名的文件夹

所以假如我们想把所有的文件都放在 一个名为 "upload" 的文件夹下面 那么你需要同时修改3个地方。这三个地方分别是上文提到的有type的地方,注意之修改文件浏览模式下的type设置即可


 

=====================================================================

1,将ckeditor解压打开,打开_Samples,将ckeditor文件夹拷贝项目中的根目录下,把bin放在根目录下

2,将ckfinder解压,ckfinder文件夹拷贝项目中的根目录下,把bin放在根目录下,把_sample,_source,help文件夹删除掉,(注:没有用)

3,在ckeditor文件下找到config.js 打开,找到
在CKEDITOR.editorCongig=function(config)
{
		//填写以下内容,图片,flash路径
	config.uiColor = '#F7F8F9'
    config.scayt_autoStartup = false
    config.language = 'zh-cn'; //中文
    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';
};

4,在ckfinder文件下找到config.ascx文件,打开
1)把public overrider bool ChekcAuthentication(){return false;改为:return true;}
2)public overrider void SetConfig(){BaseUrl = "~/ckfinder/userfiles/";}

5,在页面中head标签内写入:
	<script type="text/javascript" src="ckeditor/ckeditor.js" ></script>
 	<script type="text/javascript" src="ckfinder/ckfinder.js"></script>
如果有母版页,在母版页中写
--注:单纯的配置,6,7可以不要,但是一旦要入数据库中,就要配置6.7步骤

6,在Default.aspx页面中,写入<%@Page ValidateRequest="false"%>

7,在web.config文件中,在system.web下写 <httpRuntime requestValidationMode="2.0"/>

8,在Default.aspx页面中添加<asp:TextBox ID="txtcontent" runat="server" TextMode="MultiLine" Height="503px" Width="100%" class="ckeditor" ></asp:TextBox>
<script type="text/javascript">
    CKEDITOR.replace('<%= txtcontent.ClientID %>', { skin: 'kama' });
</script>(用ckfinder文件下skins文件下kama文件下的,skin.js,样式)

 

 

 类似资料: