欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

WAP飞信在登录时加入验证码

程序员文章站 2024-02-09 20:11:34
...

该来的总是要来的,wap飞信登录终于要求输入验证码了。其实在很早以前登录界面上就加上了验证码,只不过逻辑上有漏洞,可以轻易绕过。但昨天下午,移动对wap飞信登录时的验证码进行了改进,之前的漏洞不再存在。好在天无绝人之路,移动在前不久推出的HTML版

该来的总是要来的,wap飞信登录终于要求输入验证码了。其实在很早以前登录界面上就加上了验证码,只不过逻辑上有漏洞,可以轻易绕过。但昨天下午,移动对wap飞信登录时的验证码进行了改进,之前的漏洞不再存在。好在天无绝人之路,移动在前不久推出的HTML版飞信(触屏版)在登录时的验证码并没有改,还存在可以绕过的漏洞。而登录了HTML版飞信,再打开wap版,会直接提示登录成功,即不用再登录。所以这次的问题,通过修改登录步骤的代码即可解决。

/**
 * 登录
 * @return string
 */
protected function _login()
{
	$uri = '/im5/login/loginHtml5.action';
	$data = 'm='.$this->_mobile.'&pass='.urlencode($this->_password).'&checkCode=2496&codekey=MjQ5Ng%3D%3D';
	$result = $this->_postWithCookie($uri, $data);
	//解析Cookie
	preg_match_all('/.*?\r\nSet-Cookie: (.*?);.*?/si', $result, $matches);
	if (isset($matches[1]))
	{
		$this->_cookie = implode('; ', $matches[1]);
	}
	$result = $this->_postWithCookie('/im/login/cklogin.action', '');
	return $result;
}

最新版本的PHPFetion下载请到:http://code.google.com/p/php-fetion/downloads/list

距离上次不能给好友发飞信的问题才10天左右,不得不说,个人感觉利用wap飞信的好日子不长了,不知道哪天移动也会把这个登录入口修补上。

说实话,wap版登录加验证码是一种很差的用户体验,因为手机输入本来就不方便,所以需要用户输入的东西越少越好。况且使用wap版的有不少是低端手机,有的甚至不支持图片显示,或者是用户将图片关闭了,以加速打开速度并节省流量。另外验证码的主要作用,应该是用来防止机器暴力破解的,如果在登录失败一次或几次后再显示验证码会更好,而不是每次登录都需要输入验证码。