linux配置web页面登录密码,在Linux下通过WEB认证方式上网

本文分析了Linux用户无法通过Web认证上网的原因,主要是由于认证页面使用了IE特性的JavaScript。作者提出通过修改本地认证页面和使用非IE浏览器来解决此问题,并提供了下载认证页面、修改JavaScript及编写脚本来模拟IP获取的步骤。此外,还介绍了用网络分析软件分析Web认证原理,编写认证程序的方法,实现更简单灵活的认证方式。
摘要由CSDN通过智能技术生成

摘要

通过分析 windoze 下 Web 认证过程,提出在 Linux 中用*脚本*实现通过 Web 认证方式上网的方法

问题由来

近来,随着宽带入户,越来越多的 ISP 采用 Web 认证这种接入认证技术。Web 认证从用户的角度看,是指用户在浏览器中通过 Web 页面输入用户名和密码的认证过程。多数 ISP 号称无需客户端软件,实际情况却是:Windoze 下用户可以顺利通过 Web 认证上网,但 Linux 用户却没有这么幸运。

分析原因

什么原因呢?解决问题还需从分析认证页面入手,下面的分析主要针对我这里的情况。在 Mozilla 中打开认证页面后,没有显示任何内容。仔细分析认证页面,发现认证页面采用 JavaScripts 编写,并且是针对 IE 编制的。IE 并未完全按照标准使用 JavaScripts。IE 对 JavaScripts 做了一些扩充,主要有以下几项:

* .cab files for download of binaries;

* document.all;

* element.innerHTML;

...

IE 对 JavaScripts 的这些扩充,Mozilla 是不支持的,实际上 Mozilla 对标准 JavaScripts 的支持比 IE 好。所以,这些有 IE 特点的认证页面 Mozilla 等浏览器自然无法通过了。

从用户浏览器的角度看,Web 认证除了通过 Web 页面输入用户名和密码外,还需要通过 http 协议传送客户由 DHCP 获得的 IP。有些 ISP 在用户登录到认证页面时,由浏览器自动下载 .cab 文件,然后执行该文件获得用户的 IP,再传给 Web Server。还有些 ISP 在用户通过认证后,会在客户端弹出一个计时窗,定时向 ISP 发送 keep-alive 包。当然,Web 认证是一个比较新的方式,还没有形成标准,所以各提供商的方法也不尽相同,所谓各村有各村的高招,你那里的方法就很有可能与我的不同,但道理应该是一样的。根据以上的分析,可以看出 Linux 用户自然不可能用非 IE 兼容的浏览器直接通过登录 Web 认证界面上网啦。

解决方法

好了,问题就在这些 Web 页面使用 IE 方言的 JavaScripts 上,有几种解决方法:

1。使用 Linux 下 IE 兼容的浏览器,有吗?谁知道请告诉我。

2。使用 wine + IE 的方法,有成功的吗?大家共同分享。

3。如果将这些鸟语改为普通话,我们就可以用 Mozilla 等非 IE 浏览器通过 Web 认证方式上网了。

4。要求 ISP 提供支持 W3C 标准的认证页面。

5。分析 web 认证的原理,编写认证程序。

最理想的方法四,可是我等不急,也不一定能等到,也许你比我幸运。我采取第三种方法,对于方法三,你一定会问:认证页面在 Web Server 上,我无权修改,行不通。确实如此,这里有个变通的办法:下载认证页面,按照 JavaScripts 标准修改并保存在本地,每次上网前用本地经过修改的 Web 认证页面而非 Web

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值