溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

ASP.NET中CKEditor如何使用

發(fā)布時間:2021-07-16 13:49:20 來源:億速云 閱讀:152 作者:Leah 欄目:開發(fā)技術(shù)

這期內(nèi)容當(dāng)中小編將會給大家?guī)碛嘘P(guān)ASP.NET中CKEditor如何使用,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

1、CKEditor原名FckEditor,著名的HTML編輯器,可以在線編輯HTML內(nèi)容。自己人用CKEditor,網(wǎng)友用UBBEditor。

     配置參考文檔,主要將ckeditor中的(adapters、images、lang、plugins、skins、themes、ckeditor.js、config.js、contents.css)解壓到j(luò)s目錄,然后“顯示所有文件”,將ckeditor的目錄“包含在項目中”,在發(fā)帖頁面引用ckeditor.js,然后設(shè)置多行文本框的class="ckeditor"(CSS強大)(服務(wù)端控件CssClass=" ckeditor ",客戶端控件要設(shè)定cols、rows屬性,一般不直接用html控件),代碼中仍然可以通過TextBox控件的Text屬性來訪問編輯器內(nèi)容。

      由于頁面提交的時候asp.net會把富文本編輯器中的html內(nèi)容當(dāng)成攻擊內(nèi)容,因此需要在aspx中的Page標(biāo)簽中設(shè)置 ValidateRequest="false" 來禁用攻擊檢測(2010中還要根據(jù)報錯信息修改WebConfig來禁用XSS檢測)。

       遇到錯誤如下:

    ASP.NET中CKEditor如何使用

      **修改WebConfig來禁用XSS檢測

當(dāng)asp.net提交“<>”這些字符到aspx頁面時,如果沒有在文件頭中加入“ValidateRequest="false"”這句話,就會出現(xiàn)出錯提示:從客戶端(<?xml version="...='UTF-8'?><SOAP-ENV:Envelope S...")中檢測到有潛在危險的Request.Form 值。

如你是vs2008的用戶,只要在aspx文件的開始部分,如下文所示處:

復(fù)制代碼 代碼如下:


<%@ Page Language="C#" CodeBehind="News_add.aspx.cs"   Inherits="CKEditor.Default" %>加上ValidateRequest="false" 即可。

但是如果是VS2010,僅僅這樣還是不夠的。還需要雙擊打開web.config,在<system.web></system.web>之間添加下面語句      

復(fù)制代碼 代碼如下:


<pages validateRequest="false" />
<httpRuntime requestValidationMode="2.0" />


2、CKFinder是一個CKEditor插件,用來為CKEditor提供文件的上傳的功能。將bin\Release下的CKFinder.dll添加到項目的引用;將core、ckfinder.js、ckfinder.html、config.ascx解壓到CKFinder自己的目錄。按照文檔修改CKEditor的config.js,將上傳的處理程序設(shè)定為CKFinder,注意路徑的問題。

復(fù)制代碼 代碼如下:


CKEDITOR.editorConfig = function( config )
 {
     // Define changes to default configuration here. For example:
     // config.language = 'fr';
     // config.uiColor = '#AADC6E';

     //改成ckfinder的絕對路徑,從網(wǎng)站的本目錄開始
     var ckfinderPath = "/admin/js";
     config.filebrowserBrowseUrl = ckfinderPath + '/ckfinder/ckfinder.html';
     config.filebrowserImageBrowseUrl = ckfinderPath + '/ckfinder/ckfinder.html?Type=Images';
     config.filebrowserFlashBrowseUrl = ckfinderPath + '/ckfinder/ckfinder.html?Type=Flash';
     config.filebrowserUploadUrl = ckfinderPath + '/ckfinder/core/connector/aspx/connector.aspx?command=QuickUpload&type=Files';
     config.filebrowserImageUploadUrl = ckfinderPath + '/ckfinder/core/connector/aspx/connector.aspx?command=QuickUpload&type=Images';
     config.filebrowserFlashUploadUrl = ckfinderPath + '/ckfinder/core/connector/aspx/connector.aspx?command=QuickUpload&type=Flash';
 };

      使用測試,在插入超鏈接、插入圖片、插入文件中都有“上傳”l 因為上傳文件是非常危險的動作,因此在文件上傳的時候會進(jìn)行權(quán)限校驗。在config.ascx的CheckAuthentication方法中校驗是否有權(quán)限上傳,返回true表示有權(quán)限,否則沒有權(quán)限,一般修改成判斷用戶是否登錄,并且登錄用戶是有上傳權(quán)限的用戶,可以用Session或者M(jìn)embership來做。

復(fù)制代碼 代碼如下:


public override 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 on your system.
         object obj = Session["已經(jīng)登錄"] = true;
         if (obj!=null&Convert.ToBoolean(obj)==true)
         {
             return true;
         }
         else
         {
         return false;
         }
     }


思考:如何實現(xiàn)只有指定IP地址的用戶才能上傳?

復(fù)制代碼 代碼如下:


if (Request.UserHostAddress == "129.0.0.0.1") { return true; }


       在SetConfig函數(shù)中設(shè)置上傳文件夾的位置BaseUrl、縮略圖的位置,每種類型數(shù)據(jù)的上傳路徑、允許上傳的文件類型AllowedExtensions等。

上述就是小編為大家分享的ASP.NET中CKEditor如何使用了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI