我知道如何使用http
库和https
库下载文件。
但如果我想让用户选择同时执行这两项操作,我该怎么办?
目前我的代码看起来像这样
var downloadFile = function (url) {
var protocol = url.replace(/^(.*?):.*/, '$1');
var protocolLibrary = require(protocol);
protocolLibrary.get(url, function (response) { ... });
};
这是最好的方法吗?
答案 0 :(得分:0)
你做的方式留下了一个巨大的安全漏洞,最终用户可能会在你的服务器上运行几乎任何现有的节点模块(如果他们知道它的路径或者它已经在{{1}中) }搜索路径)。
您可以将可选择的库限制为预先加载的几个,如下所示:
require()