使用 NetworkManager 搞定网页验证

标签: Tips NetworkManager | 发表时间:2011-09-19 13:06 | 作者:黑日白月 Tony
出处:http://linuxtoy.org

学校基机房不知什么时候开始,上网要通过验证系统登陆。之前写了一个 bash 脚本执行登陆,但是每次开机后仍要手动运行,不方便。逛 Archlinux Wiki 的时候偶然看到了 NetworkManager 的 dispatcher 用法,就用此实现了自动登陆和登出。感谢 Hexchain 来稿

方法如下:

  1. 创建 passport 脚本

使用 Firebug 或 Chrome Inspector 抓出登陆时的 postdata,写出脚本(对不同的网络,登陆服务器和 postdata 不同。此处以我的网络环境为例):

#!/bin/bash

POSTLOGIN="username=hexchain&password=hexchain&password_enc=aGV4Y2hhaW4K&login=1&login_type=login&password_type=normal"
POSTLOGOUT="logout=1"

if [[ "$1" == "logout" ]]
then
    wget -O- http://192.168.200.254:81/ --post-data=$POSTLOGOUT -T2 -t2
else
    wget -O- http://192.168.200.254/ --post-data=$POSTLOGIN -T2 -t2
fi

由于这个验证系统十分 buggy,登陆后连接登陆页面将收不到任何回应,因此指定了 -T2-t2 参数。

将以上内容保存在 /path/to/passport

  1. 创建 dispatcher:
#!/bin/sh

INTERFACE=$1
STATUS=$2

case "$STATUS" in
    up)
        /bin/bash /path/to/passport login
        ;;
    down)
        /bin/bash /path/to/passport logout
        ;;
esac

将以上内容保存为 /etc/NetworkManager/dispatcher.d/10_authenticate (不同发行版文件位置可能不同,此处以 Arch 为例) 并设立 +x 属性。

最后,确保 NetworkManager 网络配置正确且自动启动。

参考资料:Arch Wiki

评论请前往作者博客原文,以便统一回复。

分类: Tips | 永久链接 | 收藏到 del.icio.us | Email 给好友 | 无评论 | 捐助本站

相关 [networkmanager 网页 验证] 推荐:

使用 NetworkManager 搞定网页验证

- Tony - LinuxTOY
学校基机房不知什么时候开始,上网要通过验证系统登陆. 之前写了一个 bash 脚本执行登陆,但是每次开机后仍要手动运行,不方便. 逛 Archlinux Wiki 的时候偶然看到了 NetworkManager 的 dispatcher 用法,就用此实现了自动登陆和登出. 创建 passport 脚本.

java 验证码

- - ITeye博客
// 创建字体,字体的大小应该根据图片的高度来定. // 随机产生160条干扰线,使图象中的认证码不易被其它程序探测到. // randomCode用于保存随机产生的验证码,以便用户登录后进行验证. // 随机产生codeCount数字的验证码. // 得到随机产生的验证码数字. // 产生随机的颜色分量来构造颜色值,这样输出的每位数字的颜色值都将不同.

AngularJS表单验证

- - JavaScript - Web前端 - ITeye博客
        通过AngularJS我们不仅可以隐藏/显示错误提示消息,高亮输入框,还可以通过编写指令来随心所欲的控制表单验证方式. $scope.reset=function(){ //表单重置. 表单验证.
表单验证
.

谷歌验证:Google Authenticator

- loverty - 移动应用观察
  谷歌验证(Google Authenticator)通过两个验证步骤,在登录时为您的谷歌帐号提供一层额外的安全保护. 使用谷歌验证可以直接在用户的设备上生成动态密码,无需网络连接. 特点:自动生成QR码;支持多帐户;支持通过time-based和counter-based生成.   当用户在Google帐号中启用“两步验证”功能后,就可以使用Google Authenticator来防止陌生人通过盗取的密码访问用户的帐户.

js验证图片大小

- - JavaScript - Web前端 - ITeye博客
var ie=!-[1,];   //区分ie. var img=new Image();//动态创建img. if(img.readyState=='complete'){//当图片load完毕. alert(img.fileSize);//ie获取文件大小. document.body.removeChlid(img);//获取大小结束,移除图片.

CXF WEBSERVICE 安全验证

- - 企业架构 - ITeye博客
CXF 封装的接口,不希望对外暴露 WSDL结构,找到的CXF安全认证技术都是基于拦截器,在调用的时候返回认证错误信息, 不能保护WSDL不被看到,后来看到别人的一个实现方式最简单有效,基于URL拦截的安全保护,用FILTER. 现在把这2种安全保护都记录下来,备用. 参考: http://www.myexception.cn/open-source/1505475.html.

验证码新趋势:NuCaptcha推出动态验证码

- Mac.Baby - 36氪
曾开发过提供视频验证码服务的加拿大创业公司NuCaptcha刚刚发布了动态验证码,可为网站提供新的安全保证,有望为验证码市场带来新气象. 验证码是人们在网站上最常见的安全问题,只要是上网的人都会遇到被要求辨认和输入数字或者单词的情况. 网站通过验证码来区分人和恶意程序. 而我们所见的大部分的验证码都是基于文字的.

10种用户友好的验证码

- Liang - cnBeta.COM
众所周知,验证码就是帮助我们确定答案不是由电脑自己生成的. 今天我推荐给大家10种用户体验绝佳、令人意想不到的验证码设计风格.

使用 PIL 生成验证码图片

- HarryHan - python.cn(jobs, news)
现在的网页中,为了防止机器人提交表单,图片验证码是很常见的应对手段之一. 这里就不详细介绍了,相信大家都遇到过. 现在就给出用Python的PIL库实现验证码图片的代码. _letter_cases = "abcdefghjkmnpqrstuvwxy" # 小写字母,去除可能干扰的i,l,o,z. _upper_cases = _letter_cases.upper() # 大写字母.

用Facebook验证“六度分离”理论

- Clover - 果壳网 guokr.com - 果壳网
“六度分离”理论可以算是社交网络研究中最著名的理论之一:生活这个世界上的每个人平均只需要通过6个中间人就能与全世界任何一个人建立联系. 在网络社交逐渐发达的今天,“六度分离”理论的论证变得容易起来,最近Yahoo联合Facebook一同开始对这个理论进行了名为“小世界实验”的再度验证. Facebook高达七亿五千万的用户群是最好的调查对象,这些用户平均每人拥有130个Facebook好友.