
efw.resources.elfinder.init.js Maven / Gradle / Ivy
"use strict";
/**** efw4.X Copyright 2019 efwGrp ****/
load("classpath:efw/resources/elfinder/elfinder_cmds.js");
load("classpath:efw/resources/elfinder/elfinder_download.js");
load("classpath:efw/resources/elfinder/elfinder_preview.js");
load("classpath:efw/resources/elfinder/elfinder_duplicate.js");
load("classpath:efw/resources/elfinder/elfinder_file.js");
load("classpath:efw/resources/elfinder/elfinder_ls.js");
load("classpath:efw/resources/elfinder/elfinder_mkdir.js");
load("classpath:efw/resources/elfinder/elfinder_mkfile.js");
load("classpath:efw/resources/elfinder/elfinder_open.js");
load("classpath:efw/resources/elfinder/elfinder_parents.js");
load("classpath:efw/resources/elfinder/elfinder_paste.js");
load("classpath:efw/resources/elfinder/elfinder_put.js");
load("classpath:efw/resources/elfinder/elfinder_rename.js");
load("classpath:efw/resources/elfinder/elfinder_rm.js");
load("classpath:efw/resources/elfinder/elfinder_size.js");
load("classpath:efw/resources/elfinder/elfinder_tree.js");
load("classpath:efw/resources/elfinder/elfinder_achive.js");
load("classpath:efw/resources/elfinder/elfinder_extract.js");
function elfinder_checkRisk(params){
var volumeId="EFW_";
var id=params["id"];//elfinderのid
var home=params["home"];//ホームフォルダ、ストレージフォルダからの相対位置
var isAbs=params["isAbs"];//絶対パスかどうか
var readonly=params["readonly"];//参照のみかどうか,true,false
var target=params["target"];
var targets=params["targets"];
var reg=session.get("EFW_ELFINDER_PROTECTED_"+id);
if (reg==null){//指定idは、初期化されたかどうか
return (new Result()).alert("{ElFinderSessionTimeoutMessage}");
}else if (reg=="true"){
var sessionHome=session.get("EFW_ELFINDER_HOME_"+id)+"";
var sessionIsAbs=session.get("EFW_ELFINDER_ISABS_"+id)+"";
if (sessionIsAbs=="true")sessionIsAbs=true;
if (sessionIsAbs=="false")sessionIsAbs=false;
var sessionReadonly=session.get("EFW_ELFINDER_READONLY_"+id)+"";
if (sessionReadonly=="true")sessionReadonly=true;
if (sessionReadonly=="false")sessionReadonly=false;
if(home!=sessionHome||isAbs!=sessionIsAbs||readonly!=sessionReadonly){
return (new Result()).alert("{ElFinderIsProtectedMessage}");
}
}
if (!isAbs){//相対パスの場合
params["file"]=file;
}else{//絶対パスの場合
params["file"]=absfile;
}
if (home.indexOf("..")>-1){
return (new Result()).alert("{ElFinderHackingRiskMessage}");
}else if(!params["file"].exists(home)){
return (new Result()).alert("{ElFinderHomeNotExistsMessage}");
}
if (target!=null){
var cwdFile=target.substring(volumeId.length).base64Decode();
if (cwdFile!=""){
if (cwdFile.indexOf(home)!=0||cwdFile.indexOf("..")>-1){
return (new Result()).alert("{ElFinderHackingRiskMessage}");
}
}
}
if (targets!=null){
for(var i=0;i-1){
return (new Result()).alert("{ElFinderHackingRiskMessage}");
}
}
}
}
return null;
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy