使用 Express 限制对 Node .js 的访问
Restrict access to Node.js using Express
我确实有一个正在运行的节点.js脚本位于服务器中。我想要的是它不会直接从浏览器访问,而且我希望只有某些域/IP-s 可以调用它!可能吗?!
不确定如何区分从浏览器访问某些内容而不是从其他软件访问某些内容,但限制对某些域/IP 的访问应该是可行的。以下(非生产)代码可以作为起点,用于限制对 localhost 环回的访问:
function securityCheck( req, response, next)
{ var callerIP = req.connection.remoteAddress;
(callerIP == "::ffff:127.0.0.1" || callerIP == "::1") ? next() : reply404( response);
}
function reply404( response)
{ response.writeHead(404, {"Content-Type": "text/html"});
response.statusMessage = "Not Found";
console.log("reply404: statusCode: " + response.StatusCode);
response.end('<span style="font-weight: bold; font-size:200%;">ERROR 404 – Not Found<'/span>');
}
var app = express();
app.use(securityCheck); // restrict access
... // continue with app routing
另请参阅更详细的 SO 对 Express.js 的回答:如何获取远程客户端地址和如何获取在 express.js 中发起请求的域?
相关文章:
- 为什么在这个网站上不能通过JS访问元素
- 使用Angular.js访问php数组数据
- 使用Backbone.js访问JSON响应的部分
- JS/JON-通过JS访问JSON中的多个数组
- 从 Node.js 访问 Jade 中的 Javascript 对象
- 通过oauth令牌passport.js访问用户配置文件
- require.js:访问所有加载的模块
- 如何使用d3.js访问JSON
- 在Internet Explorer中使用JS访问对象内部的SVG
- 连接到客户端's PC使用php或JS访问文件
- 主干网需要.js访问模型
- 从 duo 构建的 js 访问脚本中的对象
- 在子对象中显示筛选列表的挖空 js.访问要过滤的父对象列表
- 来自控制器外部的角度JS访问范围
- 从控制台 js 访问属性
- 从 js 访问插件控制器
- 使用多线程.js访问范围
- 如何使用 Handlebars.js 访问 JSON 对象
- GWT:如何从纯js访问其Web服务
- 如何从 Node.js 访问、检索、存储和删除文件到远程文件服务器中