0.1.0 • Published 12 years ago
connect-access v0.1.0
connect-access
Access controls (ACLs) by location as a Connect middleware. Inspired by nginx's http_access_module.
Installation
$ npm install connect-accessBasic Usage
access(String path, Array rules)var access = require('connect-access');
var rules = [
'192.168.1.1', // Allow 192.168.1.1
'10.0.0.0/8', // Allow entire 10.0.0.0/8 range
'127.0.0.1', // Allow localhost
'-all', // block everyone else
];
var app = connect()
.use(access('/private/*', rules)) // Lock down all of /private/* to the ACLs we declared
.use(function(req, res, next) {
res.end('Hello world');
});ACLs
There are 2 ways to declare a list of acls.
- Explicitly allow an IP/CIDR
- Explicitly disallow an IP/CIDR
To allow or disallow, the ip rule is prefixed with a + or -. If no qualifier is specified, it's assumed to allow.
Rules are executed first to last and ends when the first rule is matched. If no match is found, assumes allow everything.
Example Rules
'all' // Allow everything
'127.0.0.1' // Allow just 127.0.0.1
'10.0.0.0/8' // Allow a CIDR range
'-127.0.0.1' // Disallow 127.0.0.1
'-10.0.0.0/8' // Disallow a CIDR range
'-all' // Disallow everything0.1.0
12 years ago