日期:2014-05-17  浏览次数:20384 次

当Curl 碰上swf...
本帖最后由 PhpNewnew 于 2012-11-24 17:27:31 编辑
刚回来,昨天就给个朋友叫着帮忙处理一个模拟登录读取数据的事情。

当然 抓包...代码Curl...验证码(识别率70%,有待改进)...提交数据

最后分析页面数据发现,页面会读取一个movie.也就是swf.然后这个swf会根据表单的 username passwd validateCode(验证码) 返回一个新的passwd 再post到验证页面..例如你在input passwd 里输入的是 12345
经过处理后的可能是 aabbccdd 

So.当Curl碰上了swf.我想问问各位是否有处理过这种情况? 或者要用什么方法来解决比较好?
页面有执行以下js代码

new String(thisMovie("Secrecy").Str_Encrypt(username,passwd,validatecode)).split(",");
...

document.form_login["passwd"].value=t_Array[1];//这里改写了页面的值


现在问题就在这了,curl如何触发这个事件,并且能够正确的取得t_Array[1]的数据.
然后才能post.

如果不行的话,也只有再使用桌面工具的方法来解决了...


------解决方案--------------------
太有難度了,我征服不了
------解决方案--------------------
1、curl 可以指定回调函数,用来一体化处理交互过程中的动态数据
2、常用的方法是:
a、对于验证码,在保存对方 cookie 的前提下,读取验证码图片交由人工识别后携带cookie重入
b、在客户端执行 js 脚本,获取结果后携带cookie重入
3、虽然用可能在服务器端执行 js 脚本,但不能保证 swf 也会被加载运行
------解决方案--------------------
只能当打酱油的了。
------解决方案--------------------

完全不了解...