【问题标题】:NodeJS detect either the client(mobile) is a browser or an application?NodeJS 检测客户端(移动设备)是浏览器还是应用程序?
【发布时间】:2017-05-14 17:09:02
【问题描述】:

我使用 NODE 和 EXPRESS 开发了一个简单的 REST api。而且我已经有一个网络应用程序(浏览器)和一个本地移动应用程序。 现在我需要检查传入的请求是来自网络浏览器还是来自本机应用程序。

我已成功检测到设备通过 USER-AGENT 接收来自浏览器的传入请求。

【问题讨论】:

    标签: android ios node.js express user-agent


    【解决方案1】:

    我建议使用Host 标头。 例如: 如果您的 Web 应用程序托管在 example.com,那么所有请求的 Host 标头都将设置为 example.com。 在您的移动应用程序中,您可以手动将所有请求标头设置为具有不同的主机标头,例如 Host:app.example.com

    一个很好的做法是让服务器接受的主机名数量有限。

    确保您没有对该标头施加任何安全逻辑。每个 HTTP 客户端都可以伪造/覆盖该值。

    【讨论】:

      【解决方案2】:

      【讨论】:

      • 问题是如何在 NodeJS 中检测到这一点 - 节点中不存在窗口对象.. :(
      猜你喜欢
      • 1970-01-01
      • 2016-04-07
      • 2016-10-17
      • 2019-03-11
      • 2011-10-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多