菜鸟教程小白 发表于 2022-12-11 19:39:52

android - NodeJS 检测客户端(移动设备)是浏览器还是应用程序?


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

<p>我已成功检测到设备通过 <code>USER-AGENT</code> 接收来自浏览器的传入请求。</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>我会建议使用 <code>Host</code>header 。
例如:
如果您的 Web 应用程序托管在 <code>example.com</code> 上,那么所有请求的 Hostheader 都会设置为 <code>example.com</code>。
在您的移动应用程序中,您可以手动将所有请求 header 设置为具有不同的主机 header ,例如 <code>Host:app.example.com</code>。</p>
<p>设置有限的一组服务器接受的主机名的好习惯。</p>
<p>确保您没有对该 header 施加任何安全逻辑。每个 HTTP 客户端都可以伪造/覆盖该值。</p></p>
                                   
                                                <p style="font-size: 20px;">关于android - NodeJS 检测客户端(移动设备)是浏览器还是应用程序?,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/43966690/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/43966690/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: android - NodeJS 检测客户端(移动设备)是浏览器还是应用程序?