Restrict access to Node.js using Express Restrict access to Node.js using Express express express

Restrict access to Node.js using Express


Not sure how to distinguishing between accessing something from a browser as opposed to other software, but restricting access to some domains/IPs should be doable. The following (non production) code to restrict access to the localhost loop back might serve as a starting point:

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

See also more detailed SO answers to Express.js: how to get remote client address and How do I get the domain originating the request in express.js?