我使用 NODE 和 EXPRESS 开发了一个简单的 REST api。而且我已经有一个网络应用程序(浏览器)和一个本地移动应用程序。
现在我需要检查传入的请求是来自网络浏览器还是来自 native 应用程序。
我已成功检测到设备通过 USER-AGENT 接收来自浏览器的传入请求。
Best Answer-推荐答案 strong>
我会建议使用 Host header 。
例如:
如果您的 Web 应用程序托管在 example.com 上,那么所有请求的 Host header 都会设置为 example.com 。
在您的移动应用程序中,您可以手动将所有请求 header 设置为具有不同的主机 header ,例如 Host:app.example.com 。
设置有限的一组服务器接受的主机名的好习惯。
确保您没有对该 header 施加任何安全逻辑。每个 HTTP 客户端都可以伪造/覆盖该值。
关于android - NodeJS 检测客户端(移动设备)是浏览器还是应用程序?,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/43966690/
|