FCKeditor安装:

所谓安装就是一个简单的拷贝过程。把下载的FCKeditor2.6.4.zip文件包直接解压缩到FCKPro的根目录下,这样根目录下就得到一个FCKeditor文件夹,里面富含所有FCKeditor的核心文件。

然后把下载的FCKeditor.Net.zip随便解压缩到你硬盘的一个空目录,里面是FCKeditor.Net的源代码,你可以对它进行再度开发,我们只是直接使用其目录下的"bin"Debug目录中的FredCK.FCKeditorV2.dll文件。

VS中添加对FredCK.FCKeditorV2.dll的引用:

1.在FCKPro工程浏览器上右键,选择添加引用(Add Reference…),找到浏览(Browse)标签,然后定位到你解压好的FredCK.FCKeditorV2.dll,确认就可以了。这时,FCKPro工程目录下就多了一个bin文件夹,里面包含FredCK.FCKeditorV2.dll文件。当然,你也可以完全人工方式的来做,把FredCK.FCKeditorV2.dll直接拷贝到FCKPro"bin"下面,VS在编译时会自动把它编译进去的。

2.为了方便RAD开发,我们把FCKeditor控件也添加到VS的工具箱(Toolbox)上来,展开工具箱的常用标签组(General),右键选择组件(Choose Items…),在对话框上直接找到浏览按钮,定位FredCK.FCKeditorV2.dll,然后确认就可以了。这时工具箱呈现出控件的样子,这样会省去很多在开发时使用FCKeditor控件时要添加的声明代码。

至此,你已经完成了FCKeditor的安装,并可以在你的项目中使用FCKeditor了,当然后面还有很多需要配置的东西。

FCKeditor详细的设置:

进入FCKeditor文件夹,编辑 fckconfig.js 文件。

1、此步骤是必须的,也是最重要的一步。

修改

var _FileBrowserLanguage = 'asp' ; // asp | aspx | cfm | lasso | perl | php | py

var _QuickUploadLanguage = 'asp' ; // asp | aspx | cfm | lasso | php

改为

var _FileBrowserLanguage = 'aspx' ; // asp | aspx | cfm | lasso | perl | php | py

var _QuickUploadLanguage = 'aspx' ; // asp | aspx | cfm | lasso | php

2、配置语言包。有英文、繁体中文等,这里我们使用简体中文。

修改

FCKConfig.DefaultLanguage = 'en' ;

FCKConfig.DefaultLanguage = 'zh-cn' ;

3、配置皮肤。有default、office2003、silver风格等,这里我们可以使用默认。

FCKConfig.SkinPath = FCKConfig.BasePath + 'skins/default/' ;

4、在编辑器域内可以使用Tab键。(1为是,0为否)

FCKConfig.TabSpaces = 0 ; 改为FCKConfig.TabSpaces = 1 ;

5、加上几种我们常用的字体的方法,例如:

修改

FCKConfig.FontNames = 'Arial;Comic Sans MS;Courier New;Tahoma;Times New Roman;Verdana' ;

FCKConfig.FontNames = '宋体;黑体;隶书;楷体_GB2312;Arial;Comic Sans MS;Courier New;Tahoma;Times New Roman;Verdana'

6、编辑器域内默认的显示字体为12px,想要修改可以通过修改样式表来达到要求,打开/editor/css/fck_editorarea.css,修改font-size属性即可。如font-size: 14px;

7、关于安全性。

如果你的编辑器用在网站前台的话,那就不得不考虑安全了,在前台千万不要使用Default的toolbar,要么自定义一下功能,要么就用系统已经定义好的Basic,也就是基本的toolbar,

修改

FCKConfig.ToolbarSets["Basic"] = [

['Bold','Italic','-','OrderedList','UnorderedList','-','Link','Unlink','-','About']

FCKConfig.ToolbarSets["Basic"] = [

['Bold','Italic','-','OrderedList','UnorderedList','-',/*'Link',*/'Unlink','-','Style','FontSize','TextColor','BGColor','-','Smiley','SpecialChar','Replace','Preview']

] ;

这是我改过的Basic,把图像功能去掉,把添加链接功能去掉,因为图像和链接和flash和图像按钮添加功能都能让前台页直接访问和上传文件,要是这儿不改直接给你上传个木马还不马上玩完?

当然也可以配置一下WebConfig,也能让它确保安全,接下来我们将讲到。

FCKPro工程项目的设置:

1、配置WebConfig,在<appSettings>节点添加,如下所示:

<appSettings>

<add key="FCKeditor:BasePath" value="/项目名称/fckeditor/"/>

//Win2003下,Files目录一定要有IIS_WPG用户的写权限,否则可能无法上传

<add key="FCKeditor:UserFilesPath" value="/项目名称/Files/" />

</appSettings>

说明:BasePath是fckeditor所在路径,fckeditor由于我们直接放网站目录下这样写就可以,如果您的网站多放几层适当调整即可。UserFilesPath是所有上传的文件的所在目录。我们新建了一个Files文件夹放在了项目中做为上传文件的所在目录,这里为了方便,但由于考虑到安全性,我们建议Files要单独做wwwroot目录下的一个站点比较好,和我们的站点FCKEditor平行。不要把它放FCKEditor里,为什么呢?因为Files是要让客户有写的权限的,如果放FCKEditor下很危险。Files目录要有写的权限。你根据自己网站需求设置那个帐号,本文为方便设置User实际中你可能用ASP.NET帐号更合理。

2、在FCKpro工程项目中编写一个最简单的页面

<%@ Page Language="C#"   AutoEventWireup="true"    CodeFile="Default.aspx.cs" Inherits="_Default" validateRequest="false" %>

<%@ Register Assembly="FredCK.FCKeditorV2" Namespace="FredCK.FCKeditorV2" TagPrefix="FCKeditorV2" %>

// 这里要主要两个参数

// 默认为<%@ Page Language="C#"   AutoEventWireup="true"    CodeFile="Default.aspx.cs" Inherits="_Default" %>

// 我们要添加一个参数 validateRequest=false,否则提交带html代码的内容会报错

// 从客户端(...)中检测到有潜在危险的 Request.Form 值。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >

<head runat="server">

<title>无标题页</title>

</head>

<body>

<form id="form1" runat="server">

<div>

<FCKeditorV2:FCKeditor ID="FCKeditor1" runat="server">

</FCKeditorV2:FCKeditor>

&nbsp;</div>

</form>

</body>

</html>

如何获取其内容呢?读取FCKeditor1控件的Value属性值即可。

FCKEditor 2.6的问题:

1.FCKeditor出现"this connector is disabled Please check the"editor/filemanager/connectors/aspx/config.aspx"错误的解决办法

打开editor/filemanager/connectors/aspx/config.ascx修改CheckAuthentication()方法,返回true

C# code

view plaincopy to clipboardprint?
  1. {   
  2. < allowing are you so, doing By ?true?. return simply NOT DO : WARNING>  
  3. < implement must You server. your in files the list and upload to ?anyone?>  
  4. < as>  
  5. <>  
  6. < return>  
  7. <>  
  8. < the to ] ?IsAuthorized? Session[ as soon ?true? set is where ...>  
  9. < your in system. logs user>  
  10. < LI>
    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 true; }

    2.在上传文件窗口点击浏览服务器,会出现the server didn't send back a proper xml.....错误提示,因为后期版本的FCKEditor要求不同类型的文件分别传到不同的目录,包括file,image,falsh,media等目录,一定要先建立起来。

    FCKeditor精简版的制作方法

     进入FCKeditor文件夹,把所有“_”开头的文件和文件夹删掉,这些都是一些范例,只保留editor文件夹、fckconfig.js、fckeditor.js、fckstyles.xml、fcktemplates.xml就可以了;

      进入editor文件夹,删掉“_source”文件夹,里面放的同样是源文件;

      退回上一级目录进入filemanager文件夹,有browser和upload两个文件夹。进入browser"default"connectors,只保留aspx文件夹,其余的删掉;mcpuk目录亦可删除;upload也一样,只保留aspx文件夹;

      退到editor再进入images文件夹,smiley里面放的是表情图标,有msn和fun两个系列,如果你想用自己的表情图标,可以把它们都删除;如果你想用这里的表情图标那就不要删了;

      lang里面放的是语言包,如果只是用简体中文,那么只保留fcklanguagemanager.js、zh-cn.js两个文件就行了,建议也保留en.js(英文)、zh.js(繁体中文)两个文件,fcklanguagemanager.js是语言配置文件,有了它才能和fckconfig.js里的设置成对,对应上相应的语言文件,一定要保留!

      再退出lang文件夹,进入skins文件夹,如果你想使用FCKeditor默认的奶黄色,那就把除了default文件夹外的另两个文件夹直接删除,如果想用别的,那就看你自己的喜好了。

    至此,文件精简完毕,由原来的2.55M变成现在的797K了。接着修改设置。

    一、自定义 FCKeditor 的 BasePathBasePath 即FCKeditor在网站中的相对路径,默认值是 /fckeditor/,最好在Web.config appSettings中对其进行配置:
    <add key="FCKeditor:BasePath" value="/FCKeditor_2.6.3/"/>

    这样做有诸多优点:

    开发环境与生产环境不同,开发环境一般是http://localhost/xxx.com/这种情况下FCKeditor就得放在一个虚拟目录http://localhost/fckeditor/中,若涉及多个网站的开发,而各网站的FCKeditor有差别时,这样显然不是最优;

    而且因为物理目录结构与逻辑目录结构不同,也会有发生错误的隐患;

    而如果采用Web.config的配置,就可以在开发环境采用不同的配置,FCKeditor的物理路径与生产环境保持一致;
    当升级FCKeditor时,只需要将新版本的FCKeditor放在相应版本号的目录里,修改一下配置即可。这样可以解决因为静态资源的客户端缓存问题,不同用户出现不同的错误的问题;
    可以直观地看到自己的FCKeditor的版本号。

    二、配置文件上传的目录

    FCKeditor的文件上传(如图片上传)目录可以通过Web.config appSettings进行配置,如:

    <add key="FCKeditor:UserFilesPath" value="/UploadFile/FCKeditor/"/>

    也可以在/FCKeditorBasePath/editor/filemanager/connectors/aspx/config.ascx 中进行配置,但我建议 FCKeditor 目录中的内容能不改就不改(fckconfig.js除外),这样日后升级可以放心地替换即可。

    三、自定义文件上传的子目录的格式

    我们知道,一个文件夹下面不能存放过多的文件(据称Windows下面的目录下2000为阈值),否则对该目录的访问会严重影响I/O性能。而FCKeditor的文件存储是在单一的一个目录进行的。我对FCKeditor进行了扩展,可以在Web.config appSettings对存储目录的格式自定义,如:

    <add key="FCKeditor:FolderPattern" value="%y/%m-%d/"/>

    以今天的日期为例:这样产生的文件上传子目录格式为:2008/10-21/。
    年月日格式的目录可以随意组合,如:

    <add key="FCKeditor:FolderPattern" value="%y/%m/%d/"/>

    这样产生的文件上传子目录变成了2008/10/21/

    参考:

    %y    代表 当前时间的年份
    %m    代表 当前时间的月份
    %d    代表 当前时间的日

    四、自定义文件上传的文件名格式

    FCKeditor对文件名的处理规则是:如果当前目录下没有重名文件,则上传后的文件名与用户PC上的文件名一致;若存在n个重名文件,则加入用户PC上的文件名是Example.xxx,上传后的文件名变为:Example(n).xxx

    我的项目里要求对用户上传的文件名变成Guid的格式,所以我对FCKeditor也做了扩展,在Web.config appSettings可以对上传后文件的格式自定义,如:

    <add key="FCKeditor:FilenamePattern" value="%guid.%extl"/>

    这样的文件名如:a299e63a-7d2d-493d-bbb9-99162ef5b6b8.gif

    参考:

    %guid    代表 一个新的guid字符串
    %fnl    代表 源文件名的小写
    %fnu    代表 源文件名的大写
    %extl    代表 源文件扩展名的小写
    %extu    代表 源文件扩展名的大写

    五、对上传图片进行缩放处理

    用到FCKeditor图片上传功能的场景中,很多是内容的发表。内容中往往不需要几千像素大小的图片,比如我的项目中,文章区域最宽也就560像素,所以我做了一个扩展,在Web.config appSettings中可以对图片的最大宽度进行自定义:

    <add key="FCKeditor:MaxWidthOfUploadedImg" value="560"/>

    有了这段配置,上传后的图片的宽度都控制在了560像素及以内

    六、自定义上传后图片URL中的域名
    为了加快页面的渲染,我们可以把图片等静态资源放在一个独立的域名当中。但FCKeditor默认的图片上传后URL是相对路径, 如:/fck/2008-03-01/1.jpg:

    我增加了这个扩展,在Web.config appSettings可以配置上传后图片URL的域名,如:

    <add key="FCKeditor:UploadedFilesDomain" value="http://www.hong100.cn/"/>
    图片地址就变成绝对地址了,形式如: :http:www.aa.com/fck/2008-03-01/1.jpg

    七、解决上传文件名含有中文的文件时提示 "invalid file type" 的问题

    这个问题只需要在Web.config中增加一段配置即可解决:

    <location path="FCKeditor_2.6.3/editor/filemanager/connectors/aspx/upload.aspx">
        <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() 方法中,增加验证用户是否登录的逻辑

为了您的安全,请只打开来源可靠的网址

来自: http://hi.baidu.com/ywfsoft/blog/item/c799804cf53434f4d72afccf.html

转载于:https://www.cnblogs.com/sky7728/archive/2011/10/18/2216288.html

ASP.NET配置FCKeditor文本编辑器相关推荐

  1. 2022-10-08(Discuz漏洞、FCKeditor文本编辑器漏洞、ZooKeeper 未授权访问、Memcahe 未授权访问)

    文章目录 Discuz漏洞-请求报文中含有恶意的PHP代码(CVE-2019-13956) FCKeditor文本编辑器漏洞 test.html browser.html fckeditor.html ...

  2. FCKeditor文本编辑器的优势以及用法

    首先,我说说FCK的优势,现在有很多正文本编辑器,虽然样子做的很华丽但是不实用,最简单的例子就是大部分的文本编辑器的图片不能 上传.在近一点的说你看看CSDN上的文本编辑也不能添加本地图片.添加本地图 ...

  3. 【渗透测试】--- FCKeditor文本编辑器漏洞

    FCKeditor编辑器漏洞 FCKeditor编辑器是一款强大的所见即所得文本编辑器,现在已经更名为:CKEditor 一.fckeditor的常见敏感目录(FCK有时要小写) (1) 查看版本信息 ...

  4. ASP.NET2.0 文本编辑器FCKeditor的冰冷之心 【月儿原创】

    ASP.NET2.0 文本编辑器FCKeditor的冰冷之心 作者:清清月儿 主页:http://blog.csdn.net/21aspnet/           时间:2007.4.9 FCKed ...

  5. asp.net文本编辑器FCKeditor使用方法详解 - 橙色大地 - 博客园

    asp.net文本编辑器FCKeditor使用方法详解 效果图: 那么为什么说是FCKeditor的冰冷之心呢?这不是哗众取宠,主要是说它使用起来有点麻烦,下文就详细说明如何搞定这玩意儿. 1.FCK ...

  6. Asp.net中使用fckeditor在线编辑器配置

    ================= 网上摘录的方法:======================== FCKeditor是目前最好的html文本编辑器,如果还不明白的话看了下图就知道了 效果图: 那么 ...

  7. android 富文本框架_五种JavaScript富文本编辑器,总有一款适合你

    全文共2099字,预计学习时长4分钟 也许,你时常会遇到要开发基于Web的文本编辑器的情况.有时候,只需实现一个简约且轻量级的应用程序,不必有其他任何不必要的功能.而有时候,你的首要任务是保护用户的商 ...

  8. 五种JavaScript富文本编辑器,总有一款适合你

    也许,你时常会遇到要开发基于Web的文本编辑器的情况.有时候,只需实现一个简约且轻量级的应用程序,不必有其他任何不必要的功能.而有时候,你的首要任务是保护用户的商业机密. 在这样的情况下,如果想知道& ...

  9. Django学习18 -- 富文本编辑器(Rich Edit)

    1. 富文本编辑器,Rich Edit CharField,单行文本(Django默认) TextField,多行文本(Django默认) 富文本编辑器是能显示(编辑)图文效果的输入控件 2. Dja ...

最新文章

  1. addressof表达式不能转换为long_基本数据类型转换
  2. js中bind、call、apply函数的用法
  3. 经典C语言程序100例之三九
  4. MT6580热设计要求
  5. iOS之深入解析Xcode 13正式版发布的40个新特性
  6. Spring MVC 中 HandlerInterceptorAdapter的使用(拦截器)
  7. linux p2p视频播放器,avplayer: 一个基于FFmpeg、libtorrent的P2P播放器实现.
  8. 在.NET Core 3.0中发布单个Exe文件(PublishSingleFile)
  9. 车间生产能耗管控方案_如何给生产车间降温 环保空调的这些方案一定能帮到你...
  10. Exchange 2010 迁移到 Exchange 2013 (二)迁移用户邮箱
  11. 【共读Primer】52.[6.3]返回类型和return语句--返回数组指针 Page205
  12. 拓端tecdat|R语言代写岭回归ridge regression分析租房价格报告
  13. linux提取曲线数据软件,曲线图转数据工具软件(Engauge Digitizer)提取文献中的数据...
  14. android root测试,android检测是否已经具有root权限
  15. go import导入包详解
  16. spark学习基础篇1--spark概述与入门
  17. vue在刷新页面的时候调取方法
  18. 基于iOS 10封装的下载器(支持存储读取、断点续传、后台下载、杀死APP重启后的断点续传等功能)
  19. 什么电脑录音软件是最好用的
  20. 实现你人生中的第一个jQuery插件

热门文章

  1. 怎么清除远程计算机的用户名,Windows8系统如何清除“远程桌面连接”登录历史痕迹...
  2. HDOJ水题集合8:DBFS
  3. 【编译器】Mac下gcc环境配置折腾
  4. mysql优化教程_Mysql优化一
  5. java 文件下载 组件_java文件夹上传下载组件
  6. $(document).ready()和onload区别
  7. think in java第6_think-in-java/6.5 protected.md at master · quanke/think-in-java · GitHub
  8. python逻辑运算的一些流程图_Python大牛历时一个月打造的Python系统学习流程图,超详细!...
  9. hduoj 6000 2016CCPC-final B. Wash(贪心)
  10. python利用pygame框架实现类似大鱼吃小鱼游戏 (松鼠吃松鼠) code from making games with python and pygame