- 浏览: 611983 次
- 性别:
- 来自: 卡哇伊
文章分类
- 全部博客 (299)
- C# (25)
- Java (1)
- WinForm (0)
- Asp.Net (86)
- Jsp (2)
- Php (1)
- Web Service (0)
- Desgin Patterns (19)
- Data Structure & Algorithms (1)
- SQLserver (41)
- Mysql (0)
- Oracle (2)
- Javascript (50)
- Ajax (10)
- Jquery (1)
- Flex (0)
- Regular Expression (5)
- DIV+CSS+XHTML+XML (18)
- Software Test (0)
- Linux (0)
- Utility (17)
- Net Digest (4)
- windows 2003 (10)
- Other (4)
- English (1)
- IT Term (1)
最新评论
-
w497480098h:
学习了 很好谢谢
SQL Server下无限多级别分类查询解决办法(简单查询树形结构数据库表) -
main_fun:
确实不错
iframe自适应高度 -
jveqi:
...
DBA -
mxcie:
其它版本没有确认,今天使用vs2003时,其.sln文件也需要 ...
彻底删除项目的VSS源代码管理信息 -
moneyprosper:
就只有IE支持,火狐和谷歌都不支持此种方法。正在寻找中。。。
从父页面读取和操作iframe中内容方法
前言
FCKeditor是使用非常广泛的HTML编辑器,本文从 ASP.NET 的使用场景对 FCKeditor 与 FCKeditor.NET 的配置、功能扩展(如自定义文件上传子目录、自定义文件名、上传图片的后期处理等)、以及安全性进行初步的阐述。
希望能帮助有同样需求的同仁节省一点时间;也希望各位能指正其中的不足。谢谢。
一、自定义 FCKeditor 的 BasePath
BasePath 即FCKeditor在网站中的相对路径,默认值是 /fckeditor/,最好在Web.config appSettings中对其进行配置:
这样做有诸多优点:
- 开发环境与生产环境不同,开发环境一般是http://localhost/xxx.com/这种情况下FCKeditor就得放在一个虚拟目录http://localhost/fckeditor/中,若涉及多个网站的开发,而各网站的FCKeditor有差别时,这样显然不是最优;
而且因为物理目录结构与逻辑目录结构不同,也会有发生错误的隐患;
而如果采用Web.config的配置,就可以在开发环境采用不同的配置,FCKeditor的物理路径与生产环境保持一致; - 当升级FCKeditor时,只需要将新版本的FCKeditor放在相应版本号的目录里,修改一下配置即可。这样可以解决因为静态资源的客户端缓存问题,不同用户出现不同的错误的问题;
- 可以直观地看到自己的FCKeditor的版本号。
二、配置文件上传的目录
FCKeditor的文件上传(如图片上传)目录可以通过Web.config appSettings进行配置,如:
也可以在 /FCKeditorBasePath/editor/filemanager/connectors/aspx/config.ascx 中进行配置,但我建议 FCKeditor 目录中的内容能不改就不改(fckconfig.js除外),这样日后升级可以放心地替换即可。
三、自定义文件上传的子目录的格式
我们知道,一个文件夹下面不能存放过多的文件(据称Windows下面的目录下2000为阈值),否则对该目录的访问会严重影响I/O性能。而FCKeditor的文件存储是在单一的一个目录进行的。我对FCKeditor进行了扩展,可以在Web.config appSettings对存储目录的格式自定义,如:
========================================
以今天的日期为例:这样产生的文件上传子目录格式为:2008/10-21/。
年月日格式的目录可以随意组合,如:
这样产生的文件上传子目录变成了2008/10/21/
========================================
还可以针对不同登录的用户,采用不同的上传子目录
Web.config 修改上传子目录的配置,增加%u表示不同用户使用基于其标识不同的上传子目录
<add key="FCKeditor:FolderPattern" value="%u/%y/%m/%d/"/>
FCKeditor_2.6.3\editor\filemanager\connectors\aspx\config.ascx 中增加获取当前登录用户标识的逻辑
public override void SetConfig() { #region Bochuh's Modification // Identifier for logined user // Leave blank for default user upload folder LoginedUserIdentifier = "44"; // 这里替换成获取当前登录用户表示的代码 如:LoginedUserIdentifier = Session["user"].ToString(); #endregion // ……此文件中原来的代码 }
这样可以对不同用户,根据其登录后的标识(一般是用户ID),来使用不同的目录进行存储,如:7394/2008/10/21/(7394是当前登录用户的ID)
参考:
- %u 代表 当前登录用户的标识
- %y 代表 当前时间的年份
- %m 代表 当前时间的月份
- %d 代表 当前时间的日
四、自定义文件上传的文件名格式
FCKeditor对文件名的处理规则是:如果当前目录下没有重名文件,则上传后的文件名与用户PC上的文件名一致;若存在n个重名文件,则加入用户PC上的文件名是Example.xxx,上传后的文件名变为:Example(n).xxx
我的项目里要求对用户上传的文件名变成Guid的格式,所以我对FCKeditor也做了扩展,在Web.config appSettings可以对上传后文件的格式自定义,如:
这样的文件名如:a299e63a-7d2d-493d-bbb9-99162ef5b6b8.gif
参考:
- %guid 代表 一个新的guid字符串
- %fnl 代表 源文件名的小写
- %fnu 代表 源文件名的大写
- %extl 代表 源文件扩展名的小写
- %extu 代表 源文件扩展名的大写
五、对上传图片进行缩放处理
用到FCKeditor图片上传功能的场景中,很多是内容的发表。内容中往往不需要几千像素大小的图片,比如我的项目中,文章区域最宽也就560像素,所以我做了一个扩展,在Web.config appSettings中可以对图片的最大宽度进行自定义:
有了这段配置,上传后的图片的宽度都控制在了560像素及以内
六、自定义上传后图片URL中的域名
为了加快页面的渲染,我们可以把图片等静态资源放在一个独立的域名当中。但FCKeditor默认的图片上传后URL是相对路径,如图:
我增加了这个扩展,在Web.config appSettings可以配置上传后图片URL的域名,如:
如图:
七、解决上传文件名含有中文的文件时提示 "invalid file type" 的问题
这个问题只需要在Web.config中增加一段配置即可解决:
<system.web>
<globalization requestEncoding="utf-8" responseEncoding="gb2312"/>
</system.web>
</location>
注意:
- responseEncoding是网站的默认编码
- FCKeditor_2.6.3是FCKeditor的BasePath
八、FCKeditor的安全性
在FCKeditor的2.3.2版本里,曾有一个漏洞,可以通过 /editor/filemanager/browser/default/connectors/aspx/connector.aspx 往服务器上传任意文件,我的网站就曾经中招。
2.6.3虽然暂未发现类似的问题,但一般情况下用不到的文件最好还是删除比较好:
- FCKeditor BasePath 根目录中除了保留:
- /editor
- /fckconfig.js
- /fckpackager.xml
- /fckstyles.xml
- /fcktemplates.xml
- /license.txt
- /editor/filemanager/中除了保留:
- /connectors/aspx/config.ascx
- /connectors/aspx/upload.aspx
- 删除 /editor/_source/
- /editor/filemanager/connectors/aspx/config.ascx 的 CheckAuthentication() 方法中,增加验证用户是否登录的逻辑
注意:以上措施仅适用于ASP.NET的网站,其他语言版本的网站未考虑。
附:基于FCKeditor.Net_2.6.3修改后的源码
SOURCE: http://files.cnblogs.com/zhubo/FCKeditor.Net_2.6.3_20090713.zip
BIN(.NET 2.0): http://files.cnblogs.com/zhubo/FredCK.FCKeditorV2_20090713.zip
- 对以下文件的指定行进行了修改,
/FileBrowser/Config.cs line 45, 116, 169
/FileBrowser/FileWorkerBase.cs line 68, 98, 110, 125, 278 - 所有修改的地方均包含在名为 "ZhuBo's Modification" 的代码块中,也可以通过搜索整个项目中的 "ZhuBo's Modification" 快速看到改动的地方,方便自己的扩展(比如可以设定图片的最大高度)
更新 at 2008-11-11
新增可选的根据用户标识让不同用户使用独自的图片上传子目录,参见上文中“三、自定义文件上传的子目录的格式”的更新部分。
新的源码与dll文件也已更新。
更新 at 2009-07-06
感谢新手中的新手的发现,修正了以下Bug:未配置FCKeditor:FolderPattern,或者FCKeditor:FolderPattern为空时,上传图片成功后的路径中多了一个"/"
更新 at 2009-07-13
图片后缀名为.gif的不做压缩处理,防止动画效果丢失。
转自:http://www.cnblogs.com/zhubo/archive/2008/12/06/1315987.html
上传图片配置 :
1、修改fckeditor/fckconfig.js文件
FCKConfig.DefaultLanguage = ''en'' ;改为FCKConfig.DefaultLanguage = ''zh-cn'' ;
var _FileBrowserLanguage = ''php'' ; // asp | aspx | cfm | lasso | perl | php | py
var _QuickUploadLanguage = ''php'' ; // asp | aspx | cfm | lasso | perl | php | py
改成
var _FileBrowserLanguage= ''aspx'' ; // asp | aspx | cfm | lasso | perl | php | py
var _QuickUploadLanguage = ''aspx'' ; // asp | aspx | cfm | lasso | perl | php | py
2、 修改Web.Config文件
在appSettings对中添加下面两个键值对
<add key="FCKeditor:UserFilesPath" value="/FCK_test/Files/"/>
说明:
<add key="FCKeditor:BasePath" value="/FCKeditor/"/>
BasePath是fckeditor所在路径
<addkey="FCKeditor:UserFilesPath"value="/项目的名称/Files/"/>
"/项目的名称/Files/"表示默认上传的文件夹
3、找到fckeditor\editor\filemanager\connectors\aspx\config.ascx文件
private bool CheckAuthentication() { // WARNING : DO NOT simply return "true". By doing so, you are allowing // "anyone" to upload and list the files in your server. You must implement // some kind of session validation here. Even something very simple as... // // return ( Session[ "IsAuthorized" ] != null && (bool)Session[ "IsAuthorized" ] == true ); // // ... where Session[ "IsAuthorized" ] is set to "true" as soon as the // user logs in your system. return false; }
将这个方法中的返回值改为true;
或者增加验证用户是否登录的逻辑 :
private bool CheckAuthentication() { // WARNING : DO NOT simply return "true". By doing so, you are allowing // "anyone" to upload and list the files in your server. You must implement // some kind of session validation here. Even something very simple as... // // return ( Session[ "IsAuthorized" ] != null && (bool)Session[ "IsAuthorized" ] == true ); // // ... where Session[ "IsAuthorized" ] is set to "true" as soon as the // user logs in your system. if ( Session["user"]!=null) { return true; } return false; }
4、在IIS中建立虚拟目录,将Files文件夹设为“写入权限” --->发布的时候忘了打开写入权限.
还可以在FCKeditor/fckconfig.js脚本文件中添加相应的中文字体:
原:FCKConfig.FontNames = 'Arial;Comic Sans MS;Courier New;Tahoma;Times New Roman;Verdana' ;
更改后 :FCKConfig.FontNames = '宋体;楷体;隶书;华文彩云;幼圆;Arial;Comic Sans MS;Courier New;Tahoma;Times New Roman;Verdana' ;
删除不必要的语言:
到FCKeditor_2.6.4\editor\lang除了en.js,zh.js,zh-cn.js外其余全删除.
- FCKeditor.Net_2.6.3_20090713.zip (203.8 KB)
- 下载次数: 11
- FredCK.FCKeditorV2_20090713.zip (16 KB)
- 下载次数: 5
发表评论
-
用Tree命令看某一目录下的文件结构
2009-09-27 16:40 1242在CMD命令窗口下输入以下命令,可查看当前目录的文件结构并保存 ... -
Visual Studio中最常用的13个快捷键
2009-09-20 21:05 8971. F5:启动调试 2. F7 /Shift-F7 ... -
不允许有子节点,<providerOption name="CompilerVersion" value="v3.5"/>
2009-09-16 10:00 13314在Default.aspx的页面视图 ... -
删除/维护 VS2008时出现:“加载安装组件时遇到问题。”的解决办法
2009-09-16 09:57 5251在网上当个项目下来,里面用到了crystal report,但 ... -
VS2008安装SP1后智能提示变英文的修补程序
2009-08-27 20:36 4178期待已久的VS2008 SP1 和.NET FRAMEWOR ... -
vss2005 远程访问提示错误:The server returned the following error: (0x80072EFD)
2009-08-21 15:49 2738远程访问提示错误: ------------------ ... -
Visual Studio 2005 sp1 安装时文件检验失败的解决方法
2009-08-08 08:31 1748安装程序在安装此软件包时遇到一个错误.这可能表示此软件包有错误 ... -
彻底删除项目的VSS源代码管理信息
2009-07-12 20:49 2793有时候出差把项目带出去后,打开时老是提示我要连接源代码管理服务 ... -
注册表修改收藏夹路径
2009-07-05 17:20 1783不知你说的是不是把收藏夹的默认位置改到D盘,如果是的话,可以通 ... -
完美卸载.net framework
2009-07-05 16:47 4774卸载.net framework 2.0偶然发现电脑上基于.n ... -
免费空间申请地址
2009-07-03 23:43 1114http://www.66ip.com/ 热点网络 ... -
QQ在线服务
2009-06-24 21:31 892经常看到有些商城在商品详细页处都有QQ图标,点进去后如果电脑上 ... -
W3 Jmail 使用说明
2009-05-27 00:12 1214W3 Jmail 使用说明 jmail.smtpmail ... -
Web前端开发工具
2009-05-22 22:53 1668一、Web Developer下载地址 ... -
StarUML的一些使用方法
2009-04-24 23:47 6776画UML图以前一直用IBM Rational Rose,Ros ... -
Camtasia Recorder视频录制 使用教程
2009-03-16 23:52 21221. 2. 3. 4. 5. ...
相关推荐
7. **安全性**:FCKeditor通过内置的安全机制,如XSS过滤,防止恶意代码注入,保护服务器和用户的安全。 在FCKeditor-v2.6.3这个版本中,可能包含了对之前版本的错误修复、性能优化以及新功能的添加。例如,可能...
3. **安全性和稳定性**:FCKeditor.Net 2.6.3版在安全性方面进行了加强,防止了XSS攻击,并提高了编辑器的稳定性,减少了崩溃和错误的可能性。 三、FCKeditor的应用场景 FCKeditor被广泛应用于新闻发布系统、论坛...
4. **FCKeditor.Net的扩展与自定义** FCKeditor.Net允许开发者通过编写插件或扩展其API来增加新功能。在本例中,可能需要开发一个插件来集成水印功能,覆盖默认的图片上传行为,以确保每次上传图片时自动添加水印。...
4. **安全性**:在.NET环境中,需要注意对用户提交的内容进行安全检查,防止SQL注入或跨站脚本攻击,FCKeditor.Net提供了一些内置的安全选项,但可能需要结合其他安全措施共同使用。 通过理解和掌握这些知识点,...
通过源码,我们可以了解如何在C#或VB.NET中与客户端的JavaScript进行交互,以及如何处理ASP.NET中的安全性和状态管理问题。 5. **实例代码**:提供的实例代码展示了如何在ASP.NET项目中部署和使用FCKeditor.Net。...
8. **插件系统**:Fckeditor.Net支持插件扩展,可以添加更多功能,如公式编辑、地图插入等。 9. **源码模式和预览模式**:用户可以在源码模式下直接编辑HTML代码,或者在预览模式下查看最终效果。 在【ASP.NET】...
FCKeditor是使用非常广泛的HTML编辑器,本文从 ASP.NET 的使用场景对 FCKeditor 与 FCKeditor.NET 的配置、功能扩展(如自定义文件上传子目录、自定义文件名、上传图片的后期处理等)、以及安全性进行初步的阐述。
9. **安全性**:FCKeditor.Net具有一定的安全机制,防止XSS攻击,过滤不安全的HTML标签和属性。 10. **DLL文件**:压缩包中的DLL文件是FCKeditor.Net的编译库,用于在ASP.NET应用程序中引用和使用编辑器。 在使用...
6. 安全性与效率:为了防止恶意篡改,水印添加过程应确保安全性,同时考虑到服务器性能,处理速度也是需要注意的点。优化代码以提高处理效率,避免对用户上传造成延迟。 7. 用户体验:虽然水印功能主要是为了版权...
- **安全性**:文件上传功能可能会带来安全风险,例如恶意文件注入,因此需要对上传的文件类型和大小进行限制,并实现安全的文件存储策略。 - **性能优化**:由于FCKeditor加载了大量的JavaScript文件,可能会影响...
FCKeditor是一款强大的在线文本编辑器,主要用于在Web应用程序中提供富文本编辑功能。它以其易用性、灵活性和丰富的特性而备受青睐。...然而,使用过程中需要注意版本的兼容性、安全性和用户体验的优化。
8. **安全性**:FCKeditor有良好的安全防护机制,可以防止XSS攻击,确保网站内容的安全。 在FCKeditor.Net_2.6.3和FCKeditor_v2.6.8这两个版本中,可能会包含以下内容: - **源代码**:.NET版本的编辑器的C#或VB...
FCKeditor.Net_2.6.3.zip和FCKeditor_2.6.6.zip是两个不同版本的FCKeditor源码包,分别对应.NET平台的2.6.3和2.6.6版本。这两个版本可能包含了一些修复和改进,比如性能优化、新功能的添加或者对浏览器兼容性的提升...
这个压缩包包含了FCKeditor的两个主要版本:fckeditor3.5.2和FCKeditor.net 3.5.2,针对.NET 3.5.2框架进行了优化。 **FCKeditor 3.5.2** FCKeditor 3.5.2是该编辑器的一个稳定版本,提供了许多增强的功能和改进。...
在实际应用中,为了更好地利用fckeditor for asp.net,开发者需要了解如何配置编辑器的设置,如何通过服务器端代码(如C#或VB.NET)与编辑器进行交互,以及如何处理用户提交的富文本内容。同时,掌握JavaScript和ASP...
3. **插件开发**:FCKeditor具有良好的扩展性,你可以根据需求开发自己的插件,增加编辑器的功能。 6. **安全与优化**:在实际应用中,需要注意XSS攻击,确保过滤或转义用户输入的HTML内容。此外,还可以调整编辑器...
6. **兼容性与浏览器支持**:FCKeditor2.6版本在主流浏览器(如IE、Firefox、Chrome等)上表现良好,但需要注意不同浏览器间的差异,可能需要对某些功能进行特别处理。 7. **扩展与插件**:虽然这是一个精简版,但...
1. **下载与安装**:从官方网站下载FCKeditor的.NET版本,如FCKeditor_2.6.5.zip或FCKeditor.Net_2.6.3.zip,解压后得到相关文件。 2. **引用库**:在ASP.NET项目中引用FCKeditor的DLL文件,通常位于`bin`目录下。 ...
在实际应用中,必须注意图片上传的安全性,防止恶意文件上传和服务器资源滥用。例如,应验证文件类型、大小,甚至进行文件内容检查。此外,优化上传速度和用户体验也很关键,如使用异步上传、进度显示等。 7. **...