【问题标题】:How to check if user is using a web browser or web application with php? [closed]如何检查用户是否正在使用带有 php 的 Web 浏览器或 Web 应用程序? [关闭]
【发布时间】:2018-06-16 13:03:59
【问题描述】:

我在宣传我的网站也有一个网络应用程序。如果用户已经在使用该应用程序,则无需添加。那么有没有办法用 php/html 来检查呢?

【问题讨论】:

  • 什么样的“网络应用程序”?换句话说,它是否在服务器上作为 PHP 代码运行?是windows应用吗?哪一种?用户将在哪里运行它?与接收 PHP 代码输出的浏览器在同一台机器上运行?等等。
  • 我用 php 制作了网站,并用 appsgeyser 将其转换为应用程序。用户正在用手机运行它

标签: php web browser web-applications


【解决方案1】:

如果您的意思是要检查用户是否使用 web 视图(来自 Android/iOS 应用)而不是桌面、移动浏览器,那么您可以检查用户代理字符串

https://developer.chrome.com/multidevice/user-agent#webview_user_agent

如果您试图区分 WebView 和 Chrome for Android,您应该在 WebView 用户代理字符串中查找 Version/X.X 字符串。不要依赖特定的 Chrome 版本号(例如 30.0.0.0),因为版本号会随每个版本而变化。

您显然可以对 iOS 使用相同的方法 Does UIWebView send the same User-Agent in the Request Headers as mobile Safari?

在 PHP 中获取用户代理

$user_agent = $_SERVER['HTTP_USER_AGENT'];

更新

看看那里,还有一些解释 Detect in-app browser (WebView) with PHP / Javascript

【讨论】:

  • 仍然不确定如何检查用户是否在手机上使用应用程序或网络浏览器..?我应该从字符串 $_SERVER['HTTP_USER_AGENT'] 中检查什么?
  • 用户代理是一个字符串,它包含不同的值,具体取决于所使用的浏览器。因此,您只需要搜索该特定字符串。对于 chrome Lollipop,您可以搜索“wv”字符串(根据第一个链接)。你必须对其他的使用正则表达式
  • 我添加了另一个帖子的链接.. 这可能与您的重复
  • 但实际上是使用 chrome 作为浏览器的 android 应用程序吗?如果是这样,那么这对我没有帮助..
  • Webviews 自 android 4.4 起基于 Chromium。 developer.chrome.com/multidevice/webview/overview 他们在用户代理字符串上添加了具体细节,如第一个链接所示。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-03-22
  • 2010-09-07
  • 2018-09-03
  • 1970-01-01
  • 2011-09-21
  • 2018-07-17
  • 1970-01-01
相关资源
最近更新 更多