如何判断是手机端还是PC端

Hmg-L 2015-01-13 09:54:28
一年前做手机页面的时候,大家都用useragent,一年后的今天可能有人已经不用了。
因为都在模拟useragent,
那么问题来了。

不用useragent,如何判断是手机端还是PC端呢?

这次分给的少,前几次都是满分。结果都是没人回答,散分都散不了。

支持灌水帮顶。谢谢!

关注中....
...全文
1875 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
Hmg-L 2015-01-13
  • 打赏
  • 举报
回复
这次的问题,到这里我基本放弃掉了。 还是会在服务器进行useragent的验证。 采用的方法是

Request.Browser.IsMobileDevice
以前是拿到useragent 然后进行indexof,现在看看.NET 自己封装的这个获取Browser好不好使。 帖子结束,感谢回复
Hmg-L 2015-01-13
  • 打赏
  • 举报
回复
引用 3 楼 chengbin0602 的回复:
还是要使用 useragent,这是比较稳妥的办法。如果用户刻意去模拟,你是没有任何办法的。 除非用户的浏览器是你开发的,这样就可以设计一个加密过的token来和服务端进行双向验证,否则别无他法。
你这么说让我想起了app内嵌网页,就是这样的。用个token来表示是app访问过来的。
全体起立 2015-01-13
  • 打赏
  • 举报
回复
你不信你随便找一个你认为做的很好的大网站,手机打开就自动变成wap页,电脑就是pc页,但是你用电脑模拟一下手机页,你看看是什么结果。这种事情你根本控制不了,比方说有的人把电脑的js执行给关了,就不会执行你网站的任何js,他要是把cookie关了,他可能无法登录你的网站,他要是把默认字体给改了,看到的网页样式可能会完全跟你设计的不一样了。这些你都是无法改变的事情。 这些用户只是少数,但是一定会有。你要做的其实不是非要让这些人去按照你的意愿去打开网页,而是要防止他们的非正常操作会影响到你的服务器,你的网站,以及你的网站安全。
全体起立 2015-01-13
  • 打赏
  • 举报
回复
上面说错了,是楼主,不是版主,呵呵
全体起立 2015-01-13
  • 打赏
  • 举报
回复
header 包头信息是每个浏览器自定义的,也就是说,这个不是你网站的服务器能控制的了的。 我随便写两行代码,就可以随意的模拟成任何浏览器去访问你的网站,而你的网站会以为我是使用的哪个浏览器,但其实我什么浏览器都没用。所以版主放弃吧,从逻辑上来看你这是钻牛角尖了。
全体起立 2015-01-13
  • 打赏
  • 举报
回复
还是要使用 useragent,这是比较稳妥的办法。如果用户刻意去模拟,你是没有任何办法的。 除非用户的浏览器是你开发的,这样就可以设计一个加密过的token来和服务端进行双向验证,否则别无他法。
Hmg-L 2015-01-13
  • 打赏
  • 举报
回复
引用 1 楼 rayyu1989 的回复:
没有其他值比useragent更用来标识客户端信息的,除非你在js中去做各种判断,如果是在服务端只能通过header协议头分析
是这样的,我输出了所有的headers和ServerVariables。 通过android和ios以及PC的对比,发现几乎无差异。 差异点是,不同的浏览器可能会多几个变量,比如手机端的uc浏览器有个x-ucBrowser-UA,微信浏览器有个x-Requested-with值是com.tencent.mm 我再尝试一下,看有没有新的发现。 走过路过,请签名帮顶
rayyu1989 2015-01-13
  • 打赏
  • 举报
回复
没有其他值比useragent更用来标识客户端信息的,除非你在js中去做各种判断,如果是在服务端只能通过header协议头分析

62,244

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧