是否有任何机制可以检测请求是否来自系统级移动浏览器?

Are there any mechanisms to detect whether a request is coming from a system level mobile browser?

这是一个安全相关的问题。假设我有一个应用程序想要显示从网络服务器提供的网页。服务器是否有某种机制来检测请求是来自 system-level 浏览器还是来自嵌入式或 in-app 浏览器?除了 user-agent 之外,系统浏览器 and/or in-app 浏览器是否发送任何特定的 headers。服务器是否可以发送任何安全措施 headers 来阻止 in-app 浏览器中的呈现?

不,这不可能。您依赖远程设备上的客户端向您发送准确的数据而不是说谎。如果您将其用于安全性,则不能那样做。攻击者会撒谎。充其量,你可以消除一些诚实的浏览器,但你将无法消除像这样的真正的恶意攻击。

至于从服务器发送安全 header - 为什么任何浏览器都会接受它?他们会立即忽略它。我什至不确定您认为您将从中获得什么优势。为什么您认为它是嵌入式浏览器还是非嵌入式浏览器很重要?为什么您认为它们之间存在根本区别?