0
我创建了一个代码,用于检查浏览器是否只能在Google Chrome上访问并限制Mozilla Firefox。例如,我使用的只是使用谷歌浏览器的Android手机,如果iPhone或iPad Google Chrome浏览器有权访问该网站。但是,当检查浏览器是Chrome还是Mozilla时,它会被视为Safari。使用C#,工具。所以我调查它是否有一个独特的财产,很好用,但可悲的是没有。有没有一个好的插件或库或框架来检测iPhone或Android浏览器。谢谢。为什么iPhone将Google Chrome视为Safari还将Mozilla Firefox视为Safari浏览器?
这是用于谷歌浏览器。
var userAgent = filterContext.HttpContext.Request.UserAgent?.ToLowerInvariant() ?? "";
"mozilla/5.0 (iphone; cpu iphone os 9_1 like mac os x) applewebkit/601.1.46 (khtml, like gecko) version/9.0 mobile/13b143 safari/601.1"
var userBrowser = filterContext.HttpContext.Request.Browser.Browser?.ToLowerInvariant() ?? "";
"safari"
var userBrowserTypeype = filterContext.HttpContext.Request.Browser.Type;
"Safari9"
var userBrowserVersion = filterContext.HttpContext.Request.Browser.Version;
"9.0"
var userBrowserMajorVersion = filterContext.HttpContext.Request.Browser.MajorVersion;
"9"
var userBrowserMinorVersion = filterContext.HttpContext.Request.Browser.MinorVersion;
0
var userBrowserPlatform = filterContext.HttpContext.Request.Browser.Platform;
"Unknown"
var userBrowserBeta = filterContext.HttpContext.Request.Browser.Beta;
false
var userBrowserCrawler = filterContext.HttpContext.Request.Browser.Crawler;
false
var userAol = filterContext.HttpContext.Request.Browser.AOL;
false
var userBrowserWin16 = filterContext.HttpContext.Request.Browser.Win16;
false
var userBrowserWin32 = filterContext.HttpContext.Request.Browser.Win32;
false
var userBrowserFrames = filterContext.HttpContext.Request.Browser.Frames;
true
var usBrowserTables = filterContext.HttpContext.Request.Browser.Tables;
true
var userBrowserCookies = filterContext.HttpContext.Request.Browser.Cookies;
true
var userBrowserVbScript = filterContext.HttpContext.Request.Browser.VBScript;
false
这是用于Mozilla Firefox的。
var userAgent = filterContext.HttpContext.Request.UserAgent?.ToLowerInvariant() ?? "";
"mozilla/5.0 (iphone; cpu iphone os 10_2_1 like mac os x) applewebkit/602.4.6 (khtml, like gecko) version/10.0 mobile/14d27 safari/602.1"
var userBrowser = filterContext.HttpContext.Request.Browser.Browser?.ToLowerInvariant() ?? "";
"safari"
var userBrowserTypeype = filterContext.HttpContext.Request.Browser.Type;
"Safari10"
var userBrowserVersion = filterContext.HttpContext.Request.Browser.Version;
"10.0"
var userBrowserMajorVersion = filterContext.HttpContext.Request.Browser.MajorVersion;
"10"
var userBrowserMinorVersion = filterContext.HttpContext.Request.Browser.MinorVersion;
0
var userBrowserPlatform = filterContext.HttpContext.Request.Browser.Platform;
"Unknown"
var userBrowserBeta = filterContext.HttpContext.Request.Browser.Beta;
false
var userBrowserCrawler = filterContext.HttpContext.Request.Browser.Crawler;
false
var userAol = filterContext.HttpContext.Request.Browser.AOL;
false
var userBrowserWin16 = filterContext.HttpContext.Request.Browser.Win16;
false
var userBrowserWin32 = filterContext.HttpContext.Request.Browser.Win32;
false
var userBrowserFrames = filterContext.HttpContext.Request.Browser.Frames;
true
var usBrowserTables = filterContext.HttpContext.Request.Browser.Tables;
true
var userBrowserCookies = filterContext.HttpContext.Request.Browser.Cookies;
true
var userBrowserVbScript = filterContext.HttpContext.Request.Browser.VBScript;
false
谢谢你,朋友,现在我放心了。最后。 – Chuck
是否有另一种方法来检查浏览器组件和用户代理? – Chuck
不幸的是,没有真正确定的方式来做到这一点,但在[这个线程]中接受的答案(https://stackoverflow.com/questions/7702325/the-best-way-to-detect-browser-in-js)从不同的角度解决问题可能有所帮助。 – einord