确定 Node .js 应用程序中的请求是否为本地请求
Determine if Request is Local in Node.js app
我正在学习Node.js。在创建网站时,我将在本地运行网站(localhost
)。部署后,它将在其他服务器上运行。我的问题是,如何确定请求是否来自 Node 中的本地主机?在 ASP.NET,我可以使用Request.IsLocal
.我正在尝试弄清楚如何在 Node 中做到这一点。
谢谢!
获取
服务器地址server.address()
。
request
具有connection
和socket
对象,因为两者都可能保存远程地址(在remoteAddress
属性中),具体取决于当前连接的类型。
但是,如果服务器位于反向代理后面,则必须将其从适当的标头中提取,很可能是x-forwarded-for
。但是,如果代理被链接,我不确定这是否成立。
因此,总而言之,您将执行以下操作:
function cliAddress(req) {
return req.connection.remoteAddress || req.socket.remoteAddress || req.headers['x-forwarded-for'];
}
server.isLocal = function(request) {
return server.address() === cliAddress(req);
}
如果您使用 express.js请参阅 Express.js Req.IP API。
相关文章:
- 我的jQuery加载请求是否被调用了两次
- Web 工作线程中的同步 XHR 请求是否仍会锁定浏览器
- 从 Web Worker 执行 AJAX 请求是否可行
- 如何在mvc3视图javascript中查找当前请求是否为ajax
- 如何检查AJAX请求是否已完成
- 如何使用请求 npm 模块判断 http 请求是否完成
- 确定 Node .js 应用程序中的请求是否为本地请求
- 如何验证请求是否来自您网站上的脚本
- 检查 ajax 请求是否在大多数情况下失败
- 检查请求是否来自网络而不是手动
- Mongodb 找到一个,但首先检查请求是否为空
- PHP中有什么方法可以检测请求是否来自浏览器后退按钮
- 检查请求是否被用户使用 javascript 阻止
- 如何验证请求是否来自特定 Web 应用
- 在大多数情况下,POST 请求是否可以替代 GET 请求
- 测试ajax请求是否尚未以角度发出
- AJAX请求是否覆盖另一个请求
- 从客户端发出instagram API请求是否安全
- 如何判断请求是否应该呈现在服务器端?(ReactJS)
- JavaScript:失败的图像请求是否有error属性