午後をかけて、PHP スクリプトを使用して、これ以上セキュリティ処理を行わずにアップロードされたファイルを処理するためのスクリプト コードを作成しました。これが皆さんのお役に立てば幸いです。
まず、次のコードを config.js ファイルに追加します。
コードをコピーします コードは次のとおりです:
CKEDITOR .editorConfig = function( config )
{
config.filebrowserImageUploadUrl = './upload.php?type=img';
config.filebrowserFlashUploadUrl = './upload.php?type=flash ';
};
コードをコピー コードは次のとおりです:
/*
CKEditor_upload.php
monkee
2009-11-15 16:47
*/
$config=array();
$config['type']= array("flash", "img"); //アップロード可能なタイプの値
$config['img']=array("jpg","bmp","gif"); //img 可能なサフィックス
$config['flash ']=array("flv","swf"); //フラッシュはサフィックスを許可します
$config['flash_size']=200 //アップロードフラッシュサイズの上限単位: KB <🎜; >$config['img_size' ]=500; //アップロード画像サイズの上限単位:KB
$config['message']="アップロード成功" //アップロード成功後に表示されるメッセージ空の場合は表示されません
$config[ 'name']=mktime(); //アップロードされたファイルの命名規則は UNIX タイムスタンプに従って命名されます
$config['flash_dir']= "/ckeditor/upload/flash"; //フラッシュ ファイルのアドレスをアップロードする 絶対アドレスは、「/」を追加せずに、upload.php ファイルをサイト内のどこにでも配置できるようにするために使用されます。
$config['img_dir']= "/ckeditor/upload/img"; //img ファイルのアップロード アドレスは絶対アドレスとして使用されます。絶対アドレスは、末尾に「/」を追加せずに、upload.php ファイルを配置するのに便利です。
$config['site_url']=""; //Web サイトの URL は、画像をアップロードした後のアドレスに関連付けられます。" /" は空白のままでも構いません。 //ファイルアップロード
uploadfile();
function Uploadfile()
{
global $config;
//不正な呼び出しであるかどうかを判断します
if(empty($_GET) ['CKEditorFuncNum']))
mkhtml(1,"","不正な関数呼び出し要求");
$fn=$_GET['CKEditorFuncNum'];
if (!in_array($_GET[ 'type'],$config['type']))
mkhtml(1,"","不正なファイル呼び出し要求");
$type=$_GET[' type']; (is_uploaded_file($_FILES['upload']['tmp_name']))
{
//ファイルのアップロードが許可されているかどうかを決定します
$filearr=pathinfo($_FILES[ 'upload']['name ']);
$filetype=$filearr["拡張子"];
if(!in_array($filetype,$config[$type]))
mkhtml($ fn,"","間違っていますファイルの種類! ");
//ファイルサイズが要件を満たしているか判定
if($_FILES['upload']['size']>$config[$type."_size"]*1024)
mkhtml ($fn,"","アップロードされるファイルは ".$config[$type."_size"]."KB!") を超えることはできません
//$filearr=explode(".",$_FILES); [' アップロード']['名前']);
//$filearr[count($filearr)-1];
$file_abso=$config[$type."_dir"]." /" .$config['name'].".".$filetype;
$file_host=$_SERVER['DOCUMENT_ROOT'].$file_abso;
if(move_uploaded_file($_FILES['upload'][ 'tmp_name '],$file_host))
{
mkhtml($fn,$config['site_url'].$file_abso,$config['message']);
}
else
{
mkhtml($fn,"","ファイルのアップロードに失敗しました。アップロード ディレクトリの設定とディレクトリの読み取り/書き込み権限を確認してください");
}
}
/ /Output js 呼び出し
function mkhtml($fn,$fileurl,$message)
{
$str='