Fckeditor的修改還是在8月份進行的,本人比較懶,拖到現在才寫出來,嘿嘿。
Fckeditor確實是一款強大的線上編輯器,設計比較人性化,相容多個瀏覽器,如IE、firefox(我就測試了這兩種哦)。對於FckEditor的修改,我主要進行了添加功能按鈕、限制上傳大小和過濾ASP木馬三個方面的修改。今天先談下對上傳大小的限制的修改吧。
對於上傳大小的修改,主要是三個方面:
(1)定義其允許上傳的最大值。
這個是在fckeditor\editor\filemanager\connectors\asp\config.asp中修改的。在檔案的最後添加如下代碼:
Dim LinkUploadLimit,ImageUploadLimit,FlashUploadLimit,AttachUploadLimit,MediaUploadLimit
Dim LinkUploadMaxsize,ImageUploadMaxsize,FlashUploadMaxsize,AttachUploadMaxsize,MediaUploadMaxsize
'連結檔案大小限制
LinkUploadLimit = True
LinkUploadMaxsize = 102400
'圖片上傳大小限制
ImageUploadLimit = True
ImageUploadMaxsize = 2048
'flash上傳大小限制
FlashUploadLimit = True
FlashUploadMaxsize = 2048
'多媒體檔案上傳大小限制
MediaUploadLimit = True
MediaUploadMaxsize = 204800
'附件上傳大小限制
AttachUploadLimit = True
AttachUploadMaxsize = 20480
FckEditor針對不同的上傳方式將上傳檔案分為link,Image,Flash,Media等類型(Attach類型為我添加的),分別對應Fckeditor工具列上各個按鈕的上傳,如link對應使用超連結按鈕建立超連結時上傳的檔案。因此這裡對每種類型定義了兩個變數一個用來設定是否開啟上傳限制,一個是上傳的最大值,單位為k。
(2)判斷上傳的檔案是否超過限制。
這個是在fckeditor\editor\filemanager\connectors\asp\commands.asp中修改的。
在172行之後即語句sOriginalFileName = sFileName之後添加如下代碼
'此處添加對檔案大小上傳限制
Dim dFileSize,UploadLimitMaxsize,IsUploadLimit,IsLimitOk
'單位保持與設定值一致,設定值使用K
dFileSize=oUploader.File( "NewFile" ).Size/1024
'根據上傳的類別,取設定值,是否允許上傳,允許上傳的最大值
select case sResourceType
case "File"
IsUpLoadLimit=LinkUploadLimit
UploadLimitMaxsize=LinkUploadMaxsize
case "Image"
IsUpLoadLimit=ImageUploadLimit
UploadLimitMaxsize=ImageUploadMaxsize
case "Flash"
IsUpLoadLimit=FlashUploadLimit
UploadLimitMaxsize=FlashUploadMaxsize
case "Media"
IsUpLoadLimit=MediaUploadLimit
UploadLimitMaxsize=MediaUploadMaxsize
case "Attach"
IsUpLoadLimit=AttachUploadLimit
UploadLimitMaxsize=AttachUploadMaxsize
'case "Media"
case else
'預設設定限制上傳,最大為1M
IsUploadLimit=True
UploadLimitMaxsize=102400
end select
'-------------讀取上傳設定結束-----------------------
'判斷上傳檔案是否超過設定值,通過IsLimitOk來判定IsLimitOk=true 則無法上傳
IsLimitOk=False
if IsUploadLimit then
if dFileSize > UploadLimitMaxsize then
IsLimitOk = True
sErrorNumber = "204"
end if
end if
'--------------判斷結束,如果上傳檔案超過設定值,則設定錯誤碼為204-----
修改172行後的 DO While ……loop語句
Do While ( True )改為 Do While ( not IsLimitOk )
(3)定義用戶端的錯誤提示資訊。
用戶端錯誤提示資訊在每一類上傳(如 link、image)對應的檔案夾中的js檔案中修改。
link:在fckeditor\editor\dialog\fck_link\下的fck_link.js中修改
修改函數function OnUploadCompleted( errorNumber, fileUrl, fileName, customMsg )中的switch …case 語句
即下列語句之後
case 203 :
alert( "Security error. You probably don't have enough permissions to upload. Please check your server." ) ;
return ;
添加如下代碼:
case 204 :
alert( '檔案大小超過設定值,不允許上傳!' ) ;
return ;
其他類型按照相同方式修改即可。