CN103269313A - 嵌入式linux家庭网关强制门户的实现方法 - Google Patents

嵌入式linux家庭网关强制门户的实现方法 Download PDF

Info

Publication number
CN103269313A
CN103269313A CN2013101950897A CN201310195089A CN103269313A CN 103269313 A CN103269313 A CN 103269313A CN 2013101950897 A CN2013101950897 A CN 2013101950897A CN 201310195089 A CN201310195089 A CN 201310195089A CN 103269313 A CN103269313 A CN 103269313A
Authority
CN
China
Prior art keywords
user
home gateway
steps
program
html
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2013101950897A
Other languages
English (en)
Other versions
CN103269313B (zh
Inventor
陈洋
张玮
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fiberhome Telecommunication Technologies Co Ltd
Original Assignee
Fiberhome Telecommunication Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fiberhome Telecommunication Technologies Co Ltd filed Critical Fiberhome Telecommunication Technologies Co Ltd
Priority to CN201310195089.7A priority Critical patent/CN103269313B/zh
Publication of CN103269313A publication Critical patent/CN103269313A/zh
Application granted granted Critical
Publication of CN103269313B publication Critical patent/CN103269313B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种嵌入式linux家庭网关强制门户的实现方法,包括以下步骤:用户登陆互联网web时,将请求的HTTP报文传送给家庭网关,家庭网关调用iptables程序,修改用户请求的HTTP报文的目的IP地址为家庭网关地址,目的端口为自定义端口,重定向到在所述自定义端口侦听的thttpd程序处理;thttpd程序根据登录标志文件/etc/havelogined是否存在,判断用户是否已登录过强制门户网址,从而决定是否执行窗口重定向。本发明,使用linux自带的软件thttpd,配合简单html页面及cgi程序开发,满足强制门户功能需求,节省了开发时间,而且该功能在家庭网关上实现,无需在局端BAS***中处理,减少了局端设备的负担。

Description

嵌入式linux家庭网关强制门户的实现方法
技术领域
本发明涉及嵌入式设备,具体涉及嵌入式linux家庭网关强制门户的实现方法。
背景技术
在宽带接入服务中,服务提供商在用户第一次上网时强制用户访问一个定制的页面,这个定制页面就是强制门户,简单的强制门户可以是服务提供商的广告信息或者用户注册信息,还有一些强制门户提供账号安全检查功能,强制家庭网关升级操作***补丁和防病毒库,加强家庭网关对病毒攻击的主动防御能力。
出于对性能和成本的考虑,目前嵌入式linux家庭网关强制门户的实现方式有以下几种:
1)修改DNS域名解析模块实现强制门户功能。
例如,用户访问www.sohu.com网址,首先家庭网关上的dnsproxy程序截获该dns查询报文,如果用户是第一次查询,就返回强制门户的IP地址,而不是应该返回的sohu网站的IP地址,这样用户浏览器显示的就是强制门户页面。
2)自编代码实现。
家庭网关启动强制门户重定向程序,该程序截获用户发出的IP目的端口为80的数据报文,如果用户是第一次上网查询,就返回重定向的强制门户页面给用户,并标记该用户已登录过强制门户网址,以后无需再次登录。
3)在局端设备BAS(broadband Access Server)中实现强制门户功能。
家庭网关中不再支持强制门户功能,而是在局端接入设备BAS中支持该功能,该功能的实现同上述方法2一样。
以上这三种方式主要的不足在于:
第一,通过修改DNS域名解析模块,无法完全满足用户需求,因为DNS只在做域名解析时候才能生效,如果用户直接输入IP地址访问,就绕过了DNS域名解析模块,无法弹出强制门户。
第二,自编代码方式,一方面增加开发工作量,另一方面实现较为复杂。
第三,将该功能从网关移到局端设备BAS处理,会增加局端设备的负担,加重了整个网络的负荷。
综上所述,以上强制门户实现方法存在实现复杂,不能完全满足用户需求的缺点,在应用中迫切需要一种简单易行的实现方法。
发明内容
本发明所要解决的技术问题是解决家庭网关强制门户的实现方法复杂、不能完全满足用户需求的问题。
为了解决上述技术问题,本发明所采用的技术方案是提供一种嵌入式linux家庭网关强制门户的实现方法,包括以下步骤:
步骤A10、用户登陆互联网web时,将请求的HTTP报文传送给家庭网关,家庭网关调用iptables程序,修改用户请求的HTTP报文的目的IP地址为家庭网关地址,修改目的端口为自定义端口,将用户请求的HTTP地址重定向到在所述自定义端口侦听的Thttpd程序处理;
步骤A20、Thttpd程序根据登录标志文件/etc/havelogined是否存在,判断用户是否已登录过强制门户网址,从而决定是否执行窗口重定向。
在上述方法中,步骤A20包括以下步骤:
步骤A201、所述thttpd程序具有主页面index.html,用户上网时,所述主页面index.html被推送给用户浏览器;
步骤A202、用户浏览器执行所述主页面index.html中的javascript代码,转向到cgi程序redirectportal.cgi;
步骤A203、所述cgi程序redirectportal.cgi判断Thttpd程序上是否存在登录标志文件/etc/havelogined,如果存在,则将用户请求的目的IP地址推送给用户;否则判断用户为第一次上网,将强制门户网址推送给用户,并设置已登录标志文件,所述登录标志文件是/etc/目录中的havelogined文件,如果已登录,则使用touch/etc/havelogined命令创建该文件,redirectportal.cgi通过查询该文件是否存在来判断用户是否已登录过强制门户网址。
在上述方法中,还包括以下步骤:
步骤A204、所述thttpd程序还具有错误处理页面error404.html,所述错误处理页面error404.html的内容与所述主页面index.html相同;
在执行步骤A203之前,thttpd程序判断用户在浏览器中输入网址是否为某网址下的某个特定页面,如果是,则转步骤A204,否则执行步骤A203。
在上述方法中,在步骤A10中,所述家庭网关地址为192.168.1.1,所述自定义端口为49153。
本发明,使用linux自带的软件thttpd,配合简单html页面及cgi程序开发,就能满足强制门户功能需求,极大节省了开发时间,用户通过域名访问或者IP地址访问互联网,都可以重定向到强制门户。而且该功能在家庭网关上实现,无需在局端BAS***中处理,减少了局端设备的负担。
附图说明
图1为本发明提供的嵌入式linux家庭网关强制门户的实现方法流程图;
图2为本发明中家庭网关的工作过程示意图。
具体实施方式
下面结合附图对本发明作出详细的说明。
如图1、图2所示,本发明提供的嵌入式linux家庭网关强制门户的实现方法包括以下步骤:
步骤A10:用户登陆互联网web时,将请求的HTTP报文传送给家庭网关,家庭网关调用iptables程序,修改用户请求的HTTP报文的目的IP地址为家庭网关地址192.168.1.1,修改目的端口为自定义端口49153,将用户请求的HTTP地址重定向到在所述自定义端口侦听的Thttpd程序处理。
具体命令如下:
iptables-t nat-A PREROUTING-p tcp--dport80-i br0!-d192.168.1.1-j DNAT--to-destination192.168.1.1:49153
步骤A20:thttpd程序根据登录标志文件/etc/havelogined是否存在,来判断用户是否已登录过强制门户网址,从而决定是否执行窗口重定向。thttpd程序中启动参数-p49153表示Thttpd程序在49153端口接收http报文;-d/portal表示index.html等文件所在的目录路径;-c/cgi-bin/*表示cgi文件所在的目录路径;-u root表示以root权限启动;-T utf-8表示utf-8字符集,这样thttpd就可以处理步骤A10重定向过来的用户请求的HTTP报文,具体命令如下:
thttpd-u root-nor-T utf-8-p49153-d/portal-c'/cgi-bin/*|/*'
步骤A20包括以下步骤:
步骤A201:thttpd程序具有的主页面index.html,用户上网时,主页面index.html由thttpd程序推送给用户,主页面index.html的示例代码如下:
<html>
<head>
<title>portal web page title</title>
<meta http-equiv="Content-Type"content="text/html"charset="gb2312"/>
<script language="javascript">
function autoredirect()
Figure BDA00003219826500051
</script>
</head>
<body onLoad="autoredirect()">
</body>
</html>
步骤A202、用户浏览器解释执行页面中的javascript代码,转向到cgi程序redirectportal.cgi,cgi处理程序redirectportal.cgi用于处理跳转强制门户网址。
步骤A203、cgi处理程序redirectportal.cgi判断是否存在登录标志文件/etc/havelogined,如果存在,则将用户请求的目的IP地址推送给用户,于是用户可以访问互联网web srever;否则判断用户为第一次上网,将强制门户网址推送给用户,访问强制门户的index.html页面,并设置已登录标志文件,登录标志文件是/etc/目录中的havelogined文件,如果已登录,则使用touch/etc/havelogined命令创建该文件,redirectportal.cgi通过查询该文件是否存在来判断用户是否已登录过强制门户网址。
redirectportal.cgi的示例代码如下:
#!/bin/sh
#判断/etc/havelogined登录标志文件是否存在,不存在表示没有登
#录过,必须重定向到强制门户网址,同时创建登录标志文件。
if[!-f/etc/havelogined];then
echo Content-type:text/html
echo
echo"
<html>
<head>
<script language=\"javascript\">
window.location=\"http://强制门户网址";
</script>
</head>
<title></title>
<body>
</body>
</html>"
#创建登录标志文件
touch/etc/havelogined
else
#已经登录过强制门户网址,删除重定向规则,以后不再登录强制门
#户网址
iptables-t nat-D PREROUTING-p tcp--dport80-i br0!-d192.168.1.1-j DNAT--to-destination192.168.1.1:49153
fi
为了提高本发明的容错处理能力,thttpd程序还具有错误处理页面error404.html,错误处理页面error404.html的内容与主页面index.html相同。
在执行步骤A203之前,thttpd程序判断用户在浏览器中输入网址是否为某个网址下的某个特定页面,如果是,则执行步骤A204,否则继续步骤A203。
步骤A204:所述主页面index.html被推送给用户浏览器。
因为用户有两种HTTP请求方式,例如用户想访问www.sohu.com这个网址上的文件,第一种是输入http://www.sohu.com/,表示用户想访问这个网址的主页,第二种方式是输入http://www.sohu.com/abc.html,表示用户想访问这个网址上的特定页面abc.html。第一种方式下,thttpd程序会缺省返回index.html页面,从而利用步骤A203中将进行重定向;第二种方式下,thttpd程序会在本地目录下查找是否abc.html,但本地目录是没有abc.html文件的,该文件是www.sohu.com网址上的文件,所以thttpd程序会返回error404.html给用户,因为error404.html的内容和主面面index.html相同,因此,也会实现重定向到强制门户网址。
本发明不局限于上述最佳实施方式,任何人应该得知在本发明的启示下作出的结构变化,凡是与本发明具有相同或相近的技术方案,均落入本发明的保护范围之内。

Claims (4)

1.嵌入式linux家庭网关强制门户的实现方法,其特征在于,包括以下步骤:
步骤A10、用户登陆互联网web时,将请求的HTTP报文传送给家庭网关,家庭网关调用iptables程序,修改用户请求的HTTP报文的目的IP地址为家庭网关地址,修改目的端口为自定义端口,将用户请求的HTTP地址重定向到在所述自定义端口侦听的thttpd程序处理;
步骤A20、thttpd程序根据登录标志文件/etc/havelogined是否存在,判断用户是否已登录过强制门户网址,从而决定是否执行窗口重定向。
2.如权利要求1所述的嵌入式linux家庭网关强制门户的实现方法,其特征在于,步骤A20包括以下步骤:
步骤A201、所述thttpd程序具有主页面index.html,用户上网时,将所述主页面index.html被推送给用户浏览器;
步骤A202、用户浏览器执行所述主页面index.html中的javascript代码,转向到cgi程序redirectportal.cgi;
步骤A203、所述cgi程序redirectportal.cgi判断本地目录是否存在登录标志文件/etc/havelogined,如果存在,则将用户请求的目的IP地址推送给用户;否则判断用户为第一次上网,将强制门户网址推送给用户,并设置已登录标志文件,所述登录标志文件是/etc/目录中的havelogined文件,如果已登录,则使用touch/etc/havelogined命令创建该文件,redirectportal.cgi通过查询该文件是否存在来判断用户是否已登录过强制门户网址。
3.如权利要求2所述的嵌入式linux家庭网关强制门户的实现方法,其特征在于,还包括以下步骤:
步骤A204、所述thttpd程序还具有错误处理页面error404.html,所述错误处理页面error404.html的内容与所述主页面index.html相同,将所述主页面index.html被推送给用户浏览器;
在执行步骤A202之前,Thttpd程序判断用户在浏览器中输入网址是否为某网址下的某个特定页面,如果是,则转步骤A204,否则执行步骤A203。
4.如权利要求1所述的嵌入式linux家庭网关强制门户的实现方法,其特征在于,在步骤A10中,所述家庭网关地址为192.168.1.1,所述自定义端口为49153。
CN201310195089.7A 2013-05-21 2013-05-21 嵌入式linux家庭网关强制门户的实现方法 Active CN103269313B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310195089.7A CN103269313B (zh) 2013-05-21 2013-05-21 嵌入式linux家庭网关强制门户的实现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310195089.7A CN103269313B (zh) 2013-05-21 2013-05-21 嵌入式linux家庭网关强制门户的实现方法

Publications (2)

Publication Number Publication Date
CN103269313A true CN103269313A (zh) 2013-08-28
CN103269313B CN103269313B (zh) 2015-10-28

Family

ID=49012922

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310195089.7A Active CN103269313B (zh) 2013-05-21 2013-05-21 嵌入式linux家庭网关强制门户的实现方法

Country Status (1)

Country Link
CN (1) CN103269313B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103825969A (zh) * 2013-10-29 2014-05-28 电子科技大学 一种基于匿名网络的dns查询方法
CN104541491A (zh) * 2014-06-30 2015-04-22 华为技术有限公司 网页页面的推送方法、装置及终端
CN105791375A (zh) * 2014-12-26 2016-07-20 上海斐讯数据通信技术有限公司 Web服务器定向页面的方法
CN107257352A (zh) * 2017-08-02 2017-10-17 赛尔网络有限公司 基于dpdk的url认证的重定向***与方法
US10003630B2 (en) 2014-02-14 2018-06-19 Synology Incorporated Method, apparatus and computer program product for managing static uniform resource locator access
CN110366844A (zh) * 2016-10-17 2019-10-22 全球里驰科技有限公司 网络通信中的改进及与网络通信相关的改进
CN113724410A (zh) * 2021-08-30 2021-11-30 长江大学 一种基于openwrt的课堂签到***

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0986230A2 (en) * 1998-09-04 2000-03-15 Ncr International Inc. System and method for redirecting a user to an alternative web page
CN1416056A (zh) * 2002-06-28 2003-05-07 华为技术有限公司 一种简易访问网络运营商门户网站的方法
CN1145111C (zh) * 2002-09-23 2004-04-07 华为技术有限公司 向网络用户推送定制页面的方法
CN101212297A (zh) * 2006-12-28 2008-07-02 ***通信集团公司 基于web的wlan接入认证方法及***
CA2388623C (en) * 1999-10-22 2010-06-22 Nomadix,Inc. Systems and methods for redirecting users attempting to access a network site
CN102594887A (zh) * 2012-02-15 2012-07-18 中国联合网络通信集团有限公司 家庭门户业务的推送方法及远程管理***
CA2775900A1 (en) * 2011-07-20 2013-01-20 Bridgewater Systems Corp. Systems and methods for authenticating users accessing unsecured wifi access points

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0986230A2 (en) * 1998-09-04 2000-03-15 Ncr International Inc. System and method for redirecting a user to an alternative web page
CA2388623C (en) * 1999-10-22 2010-06-22 Nomadix,Inc. Systems and methods for redirecting users attempting to access a network site
CN1416056A (zh) * 2002-06-28 2003-05-07 华为技术有限公司 一种简易访问网络运营商门户网站的方法
CN1145111C (zh) * 2002-09-23 2004-04-07 华为技术有限公司 向网络用户推送定制页面的方法
CN101212297A (zh) * 2006-12-28 2008-07-02 ***通信集团公司 基于web的wlan接入认证方法及***
CA2775900A1 (en) * 2011-07-20 2013-01-20 Bridgewater Systems Corp. Systems and methods for authenticating users accessing unsecured wifi access points
CN102594887A (zh) * 2012-02-15 2012-07-18 中国联合网络通信集团有限公司 家庭门户业务的推送方法及远程管理***

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103825969A (zh) * 2013-10-29 2014-05-28 电子科技大学 一种基于匿名网络的dns查询方法
US10003630B2 (en) 2014-02-14 2018-06-19 Synology Incorporated Method, apparatus and computer program product for managing static uniform resource locator access
CN104541491A (zh) * 2014-06-30 2015-04-22 华为技术有限公司 网页页面的推送方法、装置及终端
WO2016000162A1 (zh) * 2014-06-30 2016-01-07 华为技术有限公司 网页页面的推送方法、装置及终端
JP2016532194A (ja) * 2014-06-30 2016-10-13 華為技術有限公司Huawei Technologies Co.,Ltd. ウェブページプッシュ方法及び装置、並びに端末
CN104541491B (zh) * 2014-06-30 2017-10-17 华为技术有限公司 网页页面的推送方法、装置及终端
US9973587B2 (en) 2014-06-30 2018-05-15 Huawei Technologies Co., Ltd. Web page pushing method and apparatus, and terminal
CN105791375A (zh) * 2014-12-26 2016-07-20 上海斐讯数据通信技术有限公司 Web服务器定向页面的方法
CN110366844A (zh) * 2016-10-17 2019-10-22 全球里驰科技有限公司 网络通信中的改进及与网络通信相关的改进
CN107257352A (zh) * 2017-08-02 2017-10-17 赛尔网络有限公司 基于dpdk的url认证的重定向***与方法
CN107257352B (zh) * 2017-08-02 2020-09-08 赛尔网络有限公司 基于dpdk的url认证的重定向***与方法
CN113724410A (zh) * 2021-08-30 2021-11-30 长江大学 一种基于openwrt的课堂签到***

Also Published As

Publication number Publication date
CN103269313B (zh) 2015-10-28

Similar Documents

Publication Publication Date Title
CN103269313B (zh) 嵌入式linux家庭网关强制门户的实现方法
CN104102537B (zh) 一种应用调用方法及用户终端
EP3219120B1 (en) Contextual deep linking of applications
CN104767775B (zh) 网页应用消息推送方法及***
EP2571228B1 (en) Access control method and system, and access terminal
US8924505B2 (en) Method and device for configuring a user agent to operate as a web server
JP6449993B2 (ja) シングルサインオンシステムおよびシングルサインオン方法
CN101582856B (zh) 一种门户服务器与宽带接入设备的会话建立方法及其***
CN103001926A (zh) 一种订阅通知的方法、装置和***
CN103067417A (zh) VPN中安全代理的Web服务映射方法及其***
CN101540734A (zh) 一种跨域名Cookie访问方法、***及设备
CN104168339A (zh) 防止域名劫持的方法及设备
CN103024740A (zh) 移动终端访问互联网的方法及***
JP2014534498A (ja) JavaScriptを保護する装置、方法及びコンピューター可読性記憶媒体
CN102456063A (zh) 一种网页访问错误修正的方法及其***
CN101136834B (zh) 一种基于ssl vpn的链接改写方法和设备
CN110430188A (zh) 一种快速url过滤方法及装置
CN105338072A (zh) 一种http重定向方法及路由设备
CN104917838A (zh) 一种路由重定向的实现方法及***
CN102801814A (zh) 互联网访问方法、装置及***
CN105279156B (zh) 网络信息通信方法及网络信息浏览装置
BRPI0710719A2 (pt) método para deletar um item de uma conta de usuário em um ambiente multimìdea sip; produto de programa de computador e dispositivo eletrÈnico
CN104615597B (zh) 浏览器中清除缓存文件的方法、装置和***
JP2011043924A (ja) Web行動履歴取得システム、Web行動履歴取得方法、ゲートウェイ装置、及びプログラム
CN101510196A (zh) 网页推送方法、***及其装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant