当前位置:首页 » 编程软件 » web认证脚本

web认证脚本

发布时间: 2023-05-17 17:05:53

❶ 如何在 linux 下通过 WEB 认证方式上网

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

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

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

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

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

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

最理想的方法四,可是我等不急,也不一定能等到,也许你比我幸运。我采取第三种方法,对于方法三,你一定会问:认证页面在 Web Server 上,我无权修改,行不通。确实如此,这里有个变通的办法:下载认证页面,按照 JavaScripts 标准修改并保存在本地,每次上网前用本地经过修改的 Web 认证页面而非 Web Server 的认证页面就可以了。具体修改方法, 找出认证页面使用 IE 方言的 JavaScritps,根据对照表提供的修改建议对你的认证页面作出相应修改。对于使用.cab 的认证页面,情况就比较复杂。需要分析这个.cab 在你的 JavaScripts 中的用法,判断它的功能,我这里是用它获得本地 IP。所以,我在本地执行脚本获得 IP 来模拟这个功能。似乎.cab 多与 IP 有关。

一个例子

* 以我这里为例,我的使用环境:

ISP:铁通 ADSL

认证方式:Web 认证

ISP 的接入服务器:华为 Quidway MA5200E/F (具体型号不能完全确定)

Linux:GENTOO 1.4 rc-3

Browser: Mozilla 1.4a/Phoenix 0.5

* 在 Linux 下用 mozilla (一定要用非 IE 浏览器获得认证页面,这话有点多余,但有的用户是在 Window$ 下调试的),访问 ISP 的 WEB 认证页面时,浏览器中没有显示任何内容,根本无法输入帐号和密码,更谈不上通过认证。这难不倒咱 linuxer, 查看认证页面(/index.jsp)源码,发现这两段 javascript:

id="PortalClient"

codebase=http://61.61.61.61:80/PortalAX.cab#version=1,0,1,8

...

var clientIp = PortalClient.localIP;

var languagetype = 0;

if ((clientIp=="")(clientIp==null)) {

window.parent.location.href="/ipError.jsp";

} else {

window.parent.location.href="/queryPort.jsp?ip="+clientIp+"newbl="+languagetype;

}

可以看出它用 PortalClient 获得本地的 IP,如果成功,转到 http://你的WEB认证页面/queryPort.jsp?ip=你当前的IP 。而 Mozilla 不支持它获取 IP (PortalClient,是针对IE的,唉,这个程序编得太短视),看来问题出在这里。既然如此,我们可以手工加上自己的 IP(这个 IP 是与 ADSL 相联的网卡从 ISP 的 DHCP 服务器获得的地址)。在 Mozilla 地址栏中输入:

http://61.61.61.61/queryPort.jsp?ip=192.168.0.2

--------^^^^^^^^^^^------------------^^^^^^^^^^^

--------你的ISP认证服务器 ------------- 你当前的IP

嗒嗒,登录页面出来啦!

赶快输入帐号,密码,按登录按钮(期待中。。。)。

viva!!!

ISP 的首页终于被揪出来啦,在终端中 ping www.gnu.org ,ping 通,没问题。

* 至此,在 Linux 下 web 认证方式已经完成。方法很简单,每次上网时,在 mozilla 的地址栏中输入:

http://你的ISP认证服务器地址/queryPort.jsp?ip=你当前的IP

登录页面出来后,和 IE 中的操作过程完全一样。

* 当然你可以把这些步骤写成一个脚本,以后简单执行脚本就可以了。

#!/bin/bash

dhcpcd eth1

phoenix http://61.61.61.61/queryPort.jsp?ip=`ifconfig eth1grep inetsed 's/^ *//'sed 's/ /:/g'cut -f3 -d:` &

说明:

eth1 是与 ADSL 联的网卡名,根据你的实际情况填写。

61.61.61.61 是我这 ISP 的认证地址。

后面一段是获得 eth1 的 ip 地址。

注意!一定要用非 IE 浏览器获得调试认证页面,因为 IE 可以执行认证页面的 JavaScripts,有些认证过程实际上是执行多个页面完成的,IE 最后停留的页面不一定是起始的认证页面,你有可能漏掉前面的重要信息,我这里就是这种情况。

另外一种方法

如果你对方法 3 不满意,可以用方法 5,继续分析 web 认证的原理,编写自己的认证程序。其实搞清原理后,实现的方法更简单,更灵活,而且在 ISP 要求客户端定时发送 keep-alive 包的情况下,也只能采取这种方法。我是这样做的:

1。用网络分析软件(如:ethereal),抓取正常认证过程的通讯包;

在 windoze 下,用 ethereal 抓包。注意抓包时,除了 IE 不要启动其它产生网络通讯的程序,以免产生干扰数据;保存这些通讯包。

2。分析所抓包的内容;

只要看一眼 web 认证过程产生的通讯包,你就明白我为什么说这种方法更简单了。简单讲,web 认证方式实际是客户端用 http 协议向 ISP 发送用户名、密码和 IP 等内容的过程。客户端读取认证页面;将填写好认证页面表格发送到 ISP 的认证服务器。过程就这么简单。

3。编写生成这些包的程序;

用任意一个支持 http 协议的语言或工具,编写向认证服务器 POST 认证页面中 form 的程序即可,甚至读取认证页面都不需要。我用 curl 和 python 各做了一个。如果你略微了解 http 协议,只要找到认证页面中向服务器 POST 用户名、密码等数据的 form,然后转换为你采用语言的语法格式就可以了,根本不需要分析认证页面中繁杂的 Javascripts。对计时窗发出的 keep-alive 包也采用同样的方法。

例子:

* 认证页面中的 form

action="http://xxxxxxx:80/secu/webLogin.jsp">

type="hidden" name="connectname" value="">

name="connecttype" type="hidden">

type="hidden">

value="192.168.000.000" name="localip" type="hidden">

name="IsIndex" type="hidden"> 用户名: 密 码:name="password" type="password"> type="submit">

* 用 curl 写的一个脚本:

#!/bin/bash

/etc/init.d/myiptables start

dhcpcd eth1

MYIP=`ifconfig eth1grep inetsed 's/^ *//'sed 's/ /:/g'cut -f3 -d:`

echo $MYIP

UN=88888888

SERVER=61.61.61.61

curl --trace trace.txt -A 'Mozilla' -d "username=$UN&password=8888&localip=$MYIP&connectname=&connecttype=-1" http://$SERVER/secu/webLogin.jsp

说明:curl 是一个用 url 语法传输文件的命令行程序,支持 http,ftp 等协议,类似 wget。

上例中,curl 的命令行参数 -A 指明客户端的类型,这是服务器为了安全,需要指明。Mozilla 或 IE 都可以,我更愿意用 Mozilla。 -d 是必需的,表示用 POST 方法。-d 后的内容就是用户名、密码 IP 地址等信息,根据你的认证页面中 form 的 input 项目填写,内容与其保持一致,参数间用 & 分开。后面是认证页面的地址。执行这个脚本后,返回 200 OK,表示认证成功,否则,仔细检查 -d 后的参数是否正常,地址是否正确。

* 用 python 写的认证程序:

#!/usr/bin/env python

import httplib, urllib

params = urllib.urlencode({'connectname': '',

'connecttype': -1,

'consumeright': 0,

'separatecard': 0,

'localip': '192.168.000.000',

'IsIndex': 0,

'username': 88888888,

'password': 8888})

headers = {'Accept': 'text/html', 'User-Agent': 'Mozilla',

'Content-Type': 'application/x-www-form-urlencoded'}

server = '61.61.61.61'

path = '/secu/webLogin.jsp'

conn = httplib.HTTPConnection(server)

conn.request("POST", path, params, headers)

r1 = conn.getresponse()

print r1.status, r1.reason

data1 = r1.read()

print data1

conn.close()

产生 keep-alive 包的程序

#!/usr/bin/env python

import httplib

def testHttplib(server, path):

req = httplib.HTTP(server)

req.putrequest('GET', path)

req.putheader('Accept', 'text/html')

req.putheader('User-Agent', 'Mozilla')

req.endheaders()

ec, em, h = req.getreply()

fd = req.getfile()

return fd.read(), (ec, em)

myip = '192.168.000.000'

server = '61.61.61.61'

path = '/ClientProcess.jsp?MsgType=1&ISNNO=1001&LocalIP=' + myip

# print 'testing "%s%s"' % (server, path)

dataHttplib, result = testHttplib(server, path)

# print "data length (httplib):", len(dataHttplib), result

# print dataHttplib

说明:

python 是一个功能强大的脚本语言,与 Perl 类似。正如你看到的,它和 curl 完成同样的工作,但更优雅。这里要注意别漏掉'User-Agent' 和 'Content-Type' 内容,我在这个上面浪费了不少时间。其它与 curl 的说明一样。

最后,将下面内容加到 crontab 中,保证每 5 分钟向 ISP 发送一个 keep-alive 包,模拟计时窗功能。

❷ web上网认证怎么设置

web上网认证的设置步骤如下:

1、web上网即每次上悔或网时,打开浏览器后页面会自动跳转到服务商的门户网站,输入用户名和密码即可上网,首先按图示连接路由器和电脑。

❸ web中的“脚本”是何意“脚本优化”又是何意

想了解脚本的含义还得要从如何理解程序开始.

1.可执行程序,无论是在windows中还是lunux或是unix系统中,都存在可执行程序.比如在windows中可执行程序都是以.exe结尾的程序.它的本质是利用vc或vb或其他你熟悉或不熟悉的编程软件编译源代码后生成的一种2进制数据.注意这里把它叫做数据.它的执行过程(比如你双击qq.exe软件会打开qq登陆窗口)就是系统把这2进制数据装入内存,然后把cpu的执行位置指向装入这代码的开始处,然后开始执行.你会得到响应的结果.比如得到qq的登陆窗口.

2.脚本程序(或就叫脚本或脚本语言):定义为按照某种已安排好的格式由操作系统中的脚本解释器逐句执行的文本.注意这里说它是文本而非2进制数据.其实两中说法在本质上都没什么区别,因为所有的东西在计算机中存储都是2进制的,只不过文本能够被文本解释器解释成我们熟悉的诸如abc123*&)等等的符号,而2进制数据则没什么规律,它只是数据.你可以用记事本打开一个.exe程序既一个2进制数据,会得到一堆乱码.脚本解释器会按照脚本程序的规定去执行已编译好了的程序,而我们直接执行的.exe程序则不需要脚本解释器去执行.

3.脚本分为很多种,比如web脚本,注册表脚本,还有dos中的以.bat结尾的批处理文件脚本等等.平时我们所说的vb脚本,java脚本,还有lunux中的shell脚本,都是基于脚本解释器去执行的.

至于web的什么脚本优化么,可能是web语言里的一种高效率的编写脚本的方法.要知道脚本的执行是靠脚本解释器按照脚本代码逐句执行那些已编译好了的程序.

我只能帮你这些了.

❹ 如何写一个web脚本,让web自动执行一些操作

如果你是为了远程操作的话,不要用web界面,用secure shell。如果你是为了写这个python程序,那你需要标准库里的subprocess和cgi。

❺ 什么是web脚本请简单说哈

javascript就是脚本语言

❻ 如何自动进行ROS Mikrotik HotSpot热点web认证

设想:使用ROS路由器,使用脚本实现 脚本检查hotspot认证页面,有hotspot认证时,则自动输入用者隐户名及密码,获取有效IP,写入WAN口首州厅迹没静态IP。 没做过,假设!

❼ 制作网页中出现的web和"脚本"是什么意思

web是指你制作好了的页面文件
脚本是指在超文本链接语言(就是HTML语言)里面加入的其他能过执行的语言比如Java语言等

❽ 我这里有一个web登录的脚本,有谁能想到暴力破解的办法

2010年8月26日 ... 验证码的作用:有效防止这种问题对某一个特定注册用户用特定程序暴力破解 ... 二像网络贴吧未登录发贴要输入验证码大概是防止大规模匿名回帖的发生 ... 在客户端脚本写入一些代码,然后利用其,客户机在网站,论坛反复登陆, ... WEB网站像现在的动网论坛,他采用达到方法是为客户提供一个包含随即字符串的图片,用户必须读取 .

❾ 大家帮忙看看,这个web脚本有什么问题么

方法不能这样放在方法内部局厅。 改老帆为如下
function init(){
document.reg_form.b.focus();
v();
}

function v()
{if(vb()==false)return false;
if (vx()==false)return false;
if(vs()==false)return false;
if(z()==false)return false;
return true;}
function vb()
{if(document.reg_form.b.value.length==0)
{alert("姓名不能为空");
return false;}
return ture;
}
function vs()
{if(document.reg_form.s.value.length==18)
{alert("身份证要为18位");
return false;}
return ture;
}
function z()
{if(document.reg_form.z.value.length>=20)
{alert("输入必要侍腊雹大于20个字");
return false;}
return ture;
}

</script>

</head>

❿ 如何在网页上创建Web脚本

下面是具体操作方法: (1)在“工具”菜单上单击“自定义”命令,再单击“命令”选项卡。 (2)在“类别”框中单击“工具”。 (3)将“插入脚本”从“命令”框拖动到“工具”菜单上。 (4)当“工具”菜单显示菜单命令指仿时,指向“宏”子菜单。 (5)当“宏”子菜单显示菜单命令时,指向希望“插入脚本”在菜单上显示的位置,再放开鼠标键。 (6)在“自定义”对话框中,单击“关闭戚凯”按钮。 (7)然后在要添加脚本的网页中单击。执行“工具”→“宏”→“插入脚本”命令。使用“Microsoft脚本编辑器”(Microsoft脚本编辑器:用于在数据访问页中添加文本、编辑HTML标记以及编辑任何Microsoft Visual Basic Scripting Edition(VBScript)代码。也可像在Web浏览器中一样,在脚本编辑器中查看页)编写脚本。 (8)现在返回到Office程序。若要将更改更新到网页中唯仔纤,请单击“刷新”工具栏上的“刷新”按钮。

热点内容
易语言管理系统源码 发布:2025-07-15 13:11:49 浏览:947
服务器老是自己关机重启什么原因 发布:2025-07-15 13:11:48 浏览:440
能耗数据库 发布:2025-07-15 12:50:55 浏览:329
谜宫脚本 发布:2025-07-15 12:40:07 浏览:865
安卓手机语音操作在哪里开启 发布:2025-07-15 12:18:49 浏览:284
安卓导航仪上网卡插哪里 发布:2025-07-15 12:01:58 浏览:455
把文件编译成数据 发布:2025-07-15 11:53:16 浏览:543
mt4如何修改密码 发布:2025-07-15 11:53:16 浏览:216
2021思域新款买哪个配置 发布:2025-07-15 11:33:24 浏览:772
路由搭建http服务器 发布:2025-07-15 11:26:45 浏览:724