diff --git a/conf/config.ini b/conf/config.ini index 8f5fe93f..5964342f 100644 --- a/conf/config.ini +++ b/conf/config.ini @@ -122,6 +122,8 @@ rootPath=./www sendBufSize=65536 #https服务器监听端口 sslport=443 +#是否显示文件夹菜单,开启后可以浏览文件夹 +dirMenu=1 [multicast] #rtp组播截止组播ip地址 diff --git a/src/Common/config.cpp b/src/Common/config.cpp index b2e00ba5..90e171ab 100644 --- a/src/Common/config.cpp +++ b/src/Common/config.cpp @@ -100,11 +100,15 @@ const string kCharSet = HTTP_FIELD"charSet"; const string kRootPath = HTTP_FIELD"rootPath"; //http 404错误提示内容 const string kNotFound = HTTP_FIELD"notFound"; +//是否显示文件夹菜单 +const string kDirMenu = HTTP_FIELD"dirMenu"; onceToken token([](){ mINI::Instance()[kSendBufSize] = 64 * 1024; mINI::Instance()[kMaxReqSize] = 4*1024; mINI::Instance()[kKeepAliveSecond] = 15; + mINI::Instance()[kDirMenu] = true; + #if defined(_WIN32) mINI::Instance()[kCharSet] = "gb2312"; #else diff --git a/src/Common/config.h b/src/Common/config.h index 27b4cefa..5d210ce5 100644 --- a/src/Common/config.h +++ b/src/Common/config.h @@ -193,6 +193,8 @@ extern const string kCharSet; extern const string kRootPath; //http 404错误提示内容 extern const string kNotFound; +//是否显示文件夹菜单 +extern const string kDirMenu; }//namespace Http ////////////SHELL配置/////////// diff --git a/src/Http/HttpFileManager.cpp b/src/Http/HttpFileManager.cpp index 584b6f25..5d6464db 100644 --- a/src/Http/HttpFileManager.cpp +++ b/src/Http/HttpFileManager.cpp @@ -195,6 +195,11 @@ static string searchIndexFile(const string &dir){ } static bool makeFolderMenu(const string &httpPath, const string &strFullPath, string &strRet) { + GET_CONFIG(bool, dirMenu, Http::kDirMenu); + if(!dirMenu){ + //不允许浏览文件夹 + return false; + } string strPathPrefix(strFullPath); string last_dir_name; if(strPathPrefix.back() == '/'){