如何防止节点js提供.git文件夹和.git下的所有文件

问题描述 投票:1回答:1

[我知道使用.htaccess文件可以限制文件在.git下的服务,但是如果我使用的是node.js服务器,如何实现相同的效果。我永远使用它来启动/停止服务器。

下面是代码。

const bodyParser = require("body-parser");
var request = require("request");
const dotenv = require('dotenv');
const app = express();

//app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended: true}));
app.use(express.static(__dirname));
app.set('view engine', 'ejs');

dotenv.config();

var environment = process.env.NODE_ENV;
var endpoint = process.env.AUTOMATION_API_ENDPOINT;
var port = process.env.PORT;

console.log('Environment : '+ environment);
console.log('Server Port : '+ port);
console.log('BackEnd server Endpoint : '+ endpoint);

var supplierId = null;
var supplyApiEndpoint = null;

app.get("/", function(req,res,next){
   var env=null;
   var url = endpoint+'/v1/supply/qa/env';
     require('http').get(url, (resp) => {
         resp.setEncoding('utf8');
         resp.on('data', function (response) {
             var body = JSON.parse(response);
             var supplyApiEndpoint = body.endpoint;
             console.log("Endpoint: "+supplyApiEndpoint);
             res.render('index',{env: supplyApiEndpoint});
         });
 });
})```
javascript node.js git .htaccess security
1个回答
1
投票

forever是用于确保给定脚本而不是Web框架连续运行的工具。

要提供文件,您将需要使用像express这样的Web框架,并且您将能够忽略某些仅提供所需文件的目录,例如,为您的views目录提供服务:

app.set('views', path.join(__dirname, '/yourViewDirectory'));

或使用正则表达式添加一些规则以忽略文件:

app.use([/^\/public\/secure($|\/)/, /(.*)\.js\.map$/, '/public'], express.static(__dirname + '/public'));

您可以使用其他的node.js Web框架来执行相同的操作,例如fastifykoa

© www.soinside.com 2019 - 2024. All rights reserved.