使用PHP / Javascript检测应用内浏览器(WebView)
|
我开发了一个iOS和 Android应用程序,它使用应用内浏览器(Webview)从我的网络服务器访问一个HTML文件. 我不希望用户无需使用该应用即可访问此文件.是否有可能检测到,如果用户正在使用该应用程序访问该文件,或直接通过此智能手机/平板电脑/计算机上的浏览器?我认为使用PHP的解决方案要好得多,因为Javascript可以关闭.至少Google Analytics(分析)可以区分Safari和Safari(应用内).它应该适用于所有版本的iOS和Android. 谢谢你的帮助. 解 经过多次尝试,我终于为我找到了一个工作的解决方案! iOS版: // Safari (in-app)
if ((strpos($_SERVER['HTTP_USER_AGENT'],'Mobile/') !== false) && (strpos($_SERVER['HTTP_USER_AGENT'],'Safari/') == false) {
echo 'Safari (in-app)';
}
安卓: // Android (in-app)
if($_SERVER['HTTP_X_REQUESTED_WITH'] == "com.company.app") {
echo 'Android (in-app)';
}
正如蒂姆·范·埃尔斯洛(Tim van Elsloo)已经注意到HTTP头可以被伪造,这并不是绝对安全的. 我不确定Android,但是当您使用iOS SDK的UIWebView时,它将作为用户代理(YourApp / 1.0)的一部分发送您的应用程序的名称和版本.然后,您可以使用PHP来检查您的应用内Webview是否被使用: if (strpos($_SERVER['HTTP_USER_AGENT'],'YourApp/') !== false) 我认为Android也做了类似的事情. (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
