FCKeditor上传详细设置解读【转】

看大家要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设置即可

本文来自:http://hi.baidu.com/goga/blog/item/9aaddbb43d09db728ad4b2da.html/cmtid/76634bed409274d8b21cb1a2

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值