Ver código fonte

将静态文件阅览的允许访问目录设置为数组

udbbbn 8 anos atrás
pai
commit
7c1826ce49
3 arquivos alterados com 12 adições e 4 exclusões
  1. 5 0
      package-lock.json
  2. 1 0
      package.json
  3. 6 4
      usmain.js

+ 5 - 0
package-lock.json

@@ -529,6 +529,11 @@
       "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz",
       "integrity": "sha512-eRzhrN1WSINYCDCbrz796z37LOe3m5tmW7RQf6oBntukAG1nmovJvhnwHHRMAfeoItc1m2Hk02WER2aQ/iqs+A=="
     },
+    "querystring": {
+      "version": "0.2.0",
+      "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz",
+      "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA="
+    },
     "range-parser": {
       "version": "1.2.0",
       "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz",

+ 1 - 0
package.json

@@ -7,6 +7,7 @@
     "express": "^4.16.3",
     "mongodb": "^3.0.7",
     "mysql": "^2.15.0",
+    "querystring": "^0.2.0",
     "socket.io": "^2.1.0",
     "socketio": "^1.0.0",
     "underscore": "^1.9.0"

+ 6 - 4
usmain.js

@@ -16,10 +16,12 @@ us.test = (req, res, _dir, dirname) => {
     let html = "<head><meta charset='utf-8'></head>";
     try {
         // 用户访问目录
-        let files = fs.readdirSync(dirname + _dir);
+        let files = fs.readdirSync(dirname + _dir); 
         let fileName = null;
         for (let i in files) {
+            // 判断后缀
             if (path.extname(files[i]) === "") {
+                // 递归
                 us.test(req, res, _dir + '/' + files[i], dirname)
             }
             fileName = files[i];
@@ -51,9 +53,9 @@ us.http.createServer(function (req, res) {
     var params = '';
     //获取参数中
     req.on('data', function (chunk) { params += chunk; });
-    var allowPath = '/www'
-    var toPath = req.url;
-    if (allowPath == toPath) {
+    var allowPath = ['/www'] // 允许访问的目录
+    var toPath = req.url;  // 当前访问路径
+    if (allowPath.indexOf(toPath) !== -1) {
         var result = us.test(req, res, toPath, __dirname)
     }