FCKeditor.Net_2.2安全修正版

FCKeditor为一开源多功能在线Web编辑器。官方网站:http://www.fckeditor.net/
相关安全文件参看:
《在.net中使用Fckeditor》 http://cliffever.cnblogs.com/archive/2006/05/09/395134.aspx
《FCKeditor 實戰技巧》http://www.jb51.net/html/200609/1206.htm
《asp.net下FCKeditor的安全问题》http://www.lvjiyong.com/item/fckeditor-safe

=======================
FCKeditor 安全问题(只指.Net_2.2版)
上传文件格式验证不严格(只客户端验证)。
FCKeditor目录没有设验证权限。
多余上传文件漏洞。

解决方法:
    可以查看修改过的FCKeditor.Net_2.2。
    站点下的FCKeditor目录进行安全设置,只允许制定用户角色的用户访问。
    将站点下不使用的多余上传文件删除。参看实例testFCKeditor。
FCKeditor.Net_2.2修改部分:
    1、FileWorkerBase.cs 添加上传文件扩展名验证函数与属性部分。
        使用方法跟设置UserFilesPath类似。
            Application["FCKeditor:UploadDeniedExtensions"]
            Session["FCKeditor:UploadDeniedExtensions"]
            System.Configuration.ConfigurationSettings.AppSettings["FCKeditor:UploadDeniedExtensions"]
        可以参看实例testFCKeditor。
        UserFilesPath属性配置部分"FCKeditor:UserFilesPath"可以设置成"虚拟站点目录"(类似与修改后的BasePath设置)。
    2、Uploader.cs
    3、FileBrowserConnector.cs
        以上两文件增加对上传文件类型的验证。
    4、FCKeditor.cs 文件BasePath属性默认为"~/FCKeditor/" 。
注:
    FredCK.FCKeditorV2.dll配件为DotNet 2.0配件。
    本修改部分在ASP.NET 2.0下调试通过。
下载此文件

另外发布一个使用js脚本创建编辑器的项目实例:下载

另附编辑器中,图片不能上传的问题:

浏览器中打开这个问题,看是否可以正常访问:FCKeditor/editor/filemanager/upload/aspx/upload.aspx

如果出现为编译错误或者web应用程序出错的问题,把“FCKeditor”这个设置成虚拟目录,这个目录的asp.net版本要与网站的asp.net版本一致。

另外在发布网站的过程中,很容易把这里的“upload.aspx”也编译到网站程序集中去,“upload.aspx”的内容就会变成“这是预编译工具生成的标记文件,不应被删除!”

但是“upload.aspx”是编译到官方提供的“FredCK.FCKeditorV2.dll”中的,“upload.aspx”的内容应该是:
<%@ Page language="c#" Inherits="FredCK.FCKeditorV2.Uploader" AutoEventWireup="false" %>

最后如果还不行,就检查下目录文件夹的安全权限设置,另外相同网站下的虚拟目录,最好使用跟网站相同的应用程序池

原文地址:https://www.cnblogs.com/timy/p/678480.html