<FONT face=宋体> </FONT>- E2 |4 [- Z1 X2 P+ _* J' S
<BLOCKQUOTE>额外的编程工作:去除讨厌的华为宽带上网控件
( i( \; K$ Y4 C# b/ m9 G) Z<P>; r' m# D! e0 T5 h1 u- v2 _0 E' s# I
<P>这一两天家里的宽带不通了,一直太忙没有时间检查,今天看了看,原来是系统升级了。</P>
; M# d. \; Q" z7 t3 |2 l, }0 f<P>由于华为依赖这样一个控件来做宽带登陆, 导致的结果是:</P>
& C! I, E, s( T! ?3 f2 _' W<P>1、不使用IE浏览器的,比如firefox的,或者IE安全级别较高的无法使用; </P> m' n+ ]$ o/ J/ f! |2 R8 _2 g
<P>2、根本无法使用宽带路由器之类的产品来分享家里的宽带; </P>$ B3 o, y' {" `' }$ k
<P>3、非PC机用户,Mac用户,linux用户无法使用宽带; </P># _4 Y: s9 e" T& {+ t
<P>等我的改进代码写好, 我会提供下载,让所有受其害的人民群众有自己选择自己使用宽待方式的自由!</P>7 S5 r9 G# y/ T. S
<P>" l0 H' b% e6 j1 B- v
<br></BLOCKQUOTE>% _* `. p2 q/ U% P/ \, a
<P>先直接给大家一个可用结果,其实非常简单。 把下面的代码copy下来,保存为一个html文件,例如“login.html”. 注意:把“你的密码”,“你的帐户”改为您自己的密码和帐户,这样每次登陆的时候就不需要再次输入。</P>
. k( C3 v" {( p; K<BLOCKQUOTE>9 y) ?7 x$ S! C" B
<P><html><BR><head><BR><meta http-equiv="Content-Type" content="text/html; charset=gb2312"><BR><title>登陆宽带</title> </P>7 X4 e! ~$ x$ Y8 W
<P><script><BR>function dologin()<BR>{<BR> mainform.httpIP.value = mainform.IP.value ; <BR> mainform.localIP.value = mainform.IP.value ;<BR> mainform.submit();<BR>}<BR></script><BR></head><BR> <BR><body></P>
8 r5 F" y/ v0 R3 u. b7 e& X<P> <form id=mainform name=mainform method=post action="http://218.2.135.36/secu/webLogin.jsp"><BR> <BR> <input type='hidden' name='consumeright' value='0'><BR> <input type='hidden' name='separatecard' value='0'><BR> <input type='hidden' name='localIP' value='221.226.230.246'><BR> <input type='hidden' name='needActiveX' value='1'><BR> <input type='hidden' name='isPNP' value='0'><BR> <input type='hidden' name='httpIP' value='221.226.230.246'><BR> <input type='hidden' name='isProxy' value='0'><BR> <input type='hidden' name='clienttype' value='1'><BR> <input type='hidden' name='cookiedate' value='3650'></P>4 {8 `. _9 T9 u/ @
<P> 用户名:<input type="text" name="username" value="你的南京宽带帐号" size="12" title="请输入用户名!" maxlength="32"> &nbsp;&nbsp;<BR> 密码:<input type="password" name="password" value="你的密码" title="请输入密码!" size="10" maxlength="16"> &nbsp; <BR> <input type="checkbox" name="saveflag" value="1" checked ><b>记住密码</b> &nbsp;&nbsp;&nbsp;<BR> IP:<input type="text" name="IP" value="" title="请输入IP"> <BR> <input type="submit" name="Submit" value=" 确 定 " script_onclick="dologin(); return false;"><BR> <BR> </form><BR> <BR> </body><BR> </html> </P></BLOCKQUOTE>. }" G9 P0 L: M2 x6 |# u" k1 V; e8 B
<P>有了上面的文件, 你可以在家里安装宽带路由器,无线AP等,在你使用的所有PC或者MAC上,保存这个html文件, 登陆的时候,直接打开文件,输入你的宽带路由器获得公网地址,点击“登录”即可。 </P>
1 x0 j7 @! L. V, U, [<P>注意:本代码并没有禁止华为的那个垃圾active x控件, 但你可以不理会那个控件,用sp2等干脆禁止掉那个控件,而不影响你的上网。 </P>1 N# Z" @$ x1 O' R9 W
<P>---</P>
4 A9 N( Z: S! I+ K$ v: E1 z" w) {<P>简要原理的说明,不关心技术的可以忽略:</P>
* N' a/ S; [+ p+ Y% y2 i* ]<P>1、华为的核心认证在于http://218.2.135.36/secu/webLogin.jsp,只要提交正确的东西到这里,就能认证成功。 所以,上面的代码只不过直接给出一个提交而已;</P>
, W( O! m& Q. j& n3 p<P>2、http://218.2.135.36/这个站点上很多页面都被首先rewrite到:http://218.2.135.36/pre_weblogin.jsp, 在这个页面可以看到active x的作用,其实不过是获得一下本机的IP地址。 而有了IP地址后,就转到了http://218.2.135.36/weblogin.jsp,这是平常用户看到的login画面。分析代码可以看到,这个activex只是为了获得机器的local IP, 而那个http://218.2.135.36/secu/webLogin.jsp也将利用这个local IP来进行认证!这些其实都是多余的。 </P>
$ [0 D7 e' ~! k<P>
7 p& X( n( r$ b, X3 `5 L<P>3、从最新的这个代码来看, portal还是有些改进,因为只依赖“http://218.2.135.36/secu/webLogin.jsp”作认证,就使得在某些支持执行一个http请求来认证的宽带router直接认证成为可能。 可惜我的这个Router AP是日文版的,看不懂提示不太会设置,要不然可以在router上直接连接就更好了。</P>. z! c* L8 W, v4 e& N
<P>4、华为的代码混乱不堪,显然是很多人维护导致的,结果代码越来越混乱。 而且其中很多代码其实没有任何用处。</P> |
|