请教大神们如和根据 http header 判断来的请求是是不浏览器?

2020-06-23 10:13:15 +08:00
 iawes

只重定向来自浏览器的请求,而不重定向其他应用或者系统层的 80 请求?

5315 次点击
所在节点    程序员
48 条回复
also24
2020-06-23 15:38:16 +08:00
直觉上又是个 X-Y Problem,建议楼主直描述一下原始需求。

https://coolshell.cn/articles/10804.html
iawes
2020-06-23 15:48:08 +08:00
@also24 对我还是描述下原始需求比较好
iawes
2020-06-23 15:55:12 +08:00
@also24 感谢,X-Y Problem 也适合在搜索引擎上找答案
also24
2020-06-23 16:13:13 +08:00
楼主你补充的其实仍然不是原始需求。

一般需要做类似实现的,其实就是为了做 Portal 认证。
目前常见的操作系统都会自动发送相应的请求来检测是否需要进行 Portal 认证。

但是从你的描述来看,你似乎认为系统自动检测 Portal 认证的请求会干扰你的实现。
所以需要你说明一下更原始的需求,来判断为什么会产生这种想法。
iawes
2020-06-23 16:29:30 +08:00
@also24 确实你说的这个地方有影响,但是不是向你说的那样。iOS/Android 在连接 WiFi 时都会进行 portal 认证来判断当前网络是否正常,但是这个认证也是 HTTP 请求,而我是不想拦截这类请求。
我只想拦截从浏览器发出的 HTTP 请求。
包括在抖音播放视频时也会先发 HTTP 请求,对于这类由 APP 发出的我也不要拦截。
also24
2020-06-23 16:46:11 +08:00
@iawes #25
所以我才说你还是没有讲你的原始目的……

因为一般拦截这些请求的目的就是做 Portal 认证,我需要搞清楚你和这种情况的目的差异在什么方面。
iyaozhen
2020-06-23 17:05:40 +08:00
你主要是想区分浏览器和 app native 的请求吧

这个感觉不好区分,要不然你判断是 html 啥的再 302 呗
iawes
2020-06-23 17:06:56 +08:00
@also24 只有在用户在手机 /PC 打开浏览器浏览网页的时候,才在路由器上拦截 HTTP 重定向
also24
2020-06-23 17:23:08 +08:00
@iawes #28
我放弃了……
felixlong
2020-06-23 20:19:43 +08:00
其实你反过来想想。把市面上所有浏览器的 User-Agent 收集一下,标识出来就行.
supermoonie
2020-06-23 20:41:59 +08:00
@kop1989 跨浏览器指纹🤪
opengps
2020-06-23 20:47:26 +08:00
在我这个博客页面右侧搜索 ua :https://www.opengps.cn/Blog/Index.aspx
xiangyuecn
2020-06-23 21:02:27 +08:00
wifi dog ?需要刷路由器固件,任何没有授权访问的设备的 http 请求都会被重定向到认证页面,不过 https 就歇菜了
Xusually
2020-06-23 21:14:46 +08:00
看下来有点同情#29 @also24
你确实没有描述清楚原始需求,那么根据你目前的描述,quick answer:
只凭借 http header,不能。
hallDrawnel
2020-06-23 21:24:57 +08:00
你还是没有描述清楚你要干什么。如果要做认证,那就用 Portal 认证的方式。
kernelpanic
2020-06-23 21:28:27 +08:00
yousabuk
2020-06-24 02:12:18 +08:00
幸亏 User-Agent 可以修改,要不然 macOS Safari 用 中国银行 的网银还必须安装密码控件。

话说:密码控件的意义何在?
Rxianbei
2020-06-24 10:18:45 +08:00
不可能的,http 请求头都是可以改的
iawes
2020-06-24 11:32:31 +08:00
@also24 我感觉我讲的挺清楚了,可能是我的表达能力不好。。
反正就是路由器上判断 HTTP 包是哪里来的
iawes
2020-06-24 11:33:51 +08:00
@felixlong 太多了。。 我找到一个网站,专门做这个统计的,结果吓死人的,光 IE 的 UA 就要 100 多万个。https://developers.whatismybrowser.com/useragents/

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/683999

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX