当前位置:  技术问答>linux和unix

在宾馆上网,打开IE输入网址后,弹出一个用户名密码的网页。请问这个功能如何实现?各位帮一下忙,如果可以解决问题,我可以给钱,谢谢了。

    来源: 互联网  发布时间:2016-07-08

    本文导语:  在宾馆上网,打开IE输入网址后,弹出一个用户名密码的网页。请问这个功能如何实现?  我现在在做一个类似的功能:    用户通过我们公司的网关(路由器)上网,当用户第一次在IE浏览器中输入网址后,首先弹出...

在宾馆上网,打开IE输入网址后,弹出一个用户名密码的网页。请问这个功能如何实现? 
我现在在做一个类似的功能: 
  用户通过我们公司的网关(路由器)上网,当用户第一次在IE浏览器中输入网址后,首先弹出一个提示页面注意事项。然后自动跳转到用户想要出的网页。如何实现这个功能? 
  注意事项的网页固化在网关内,网关用的是LINUX2.4内核。 

  有没有人有这方面的经验,提示一下,谢谢!! 


补充一下: 
不能在用户上装客户端程序,只能改网关上的程序,应用层或内核。 

我说一下我的基体思路,不知可不可行? 
1. 用户在IE中输入网址通过我公司的网关上网。 
2. 网关发现第一个访问80端口的TCP协议数据包(要在linux内核中实现),不转发此数据包,但记下他要访问的网址。给用户返回一个提示页面,此提示页面n秒后自动跳转到刚在记下的页面。 
3. 用户IE收到提示页面后,会在N秒后自动跳转。 

这里的问题的关键在于拦截用户的第一个访问80端口的TCP协议数据包,并返回提示页面。这个要在IP层实现此功能。要熟悉LINUX内核中的网络部分。 
不知各位对这个方案有什么看法? 



|
完全实现的话,你要做一个透明代理服务器,透明是因为你的程序位于网关,用户的浏览器不会设置proxy。
代理的话就比较容易实现你要的功能了,
1.你可以和用户建立连接,然后在用户发送第一个GET请求时,给它回你的提示页面,自动跳转可以在提示页面里实现,比如说javascript或者直接用下面的刷新语句
 
其中10是延时时间,http://www.xxxxxx.com是用户GET请求的页面,你可以从GET请求中获取。
2.你要记下来这个IP已经给过提示页面了,以后这个ip的数据就直接bypass就好。

    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 在宾馆上网,打开IE输入网址后,弹出一个用户名密码的网页。请问这个功能如何实现?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3