从程序角度如何知道用户第一次打开浏览器?
需求是这样的,研发一款路由器,让用户第一次打开浏览器(或第一次浏览网页)时强制显示一个欢迎页初步想法:在路由器上截取所有DNS包,当收到第一个DNS包时,把ip地址重定向到自己的服务器ip(回复假的DNS包)
但是遇到一个问题,不知道如何判定用户第一次打开浏览器。因为第一个DNS包不一定是第一次打开浏览器,软件后台更新等也可能需要dns解析。我不希望干扰用户的其他上网行为,只想他第一次浏览网页时使用我的欢迎页(网址导航)
有没有一些方法可以使路由器知道用户使用浏览器?比方说打开浏览器时浏览器必须发某种包 本帖最后由 apen 于 2014-12-10 15:38 编辑
不般不用DNS请求来实现,多采用HTTP劫持来实现这个功能:
检查HTTP请求的源地址,与系统中缓存的源地址进行比较,如果没有,加入缓存,同时对这个HTTP请求进行重定向。也可以将自己的页面代码加入从真实地址返回的页面中! 回复 2# apen
good,这个方法貌似很不错,请问你所说的缓存是什么缓存?怎样查看? 回复 3# 阿鸾44
缓存就是用来记录那些地址已经进行过重定向,你在系统中必须有一个表用来记录这些地址,否则的话就能判断是否是第一次打开了!
页:
[1]