本帖最后由 imtest01 于 2014-8-12 09:54 编辑
按照楼主的说法,关键位置在那个iframe代码,反序列化楼主的代码,那个iframe在turl_code字段中。然后,我找到了这段代码(source/admincp/cloud/cloud_connect.php):
$_GET['connectnew']['turl_code'] = '';
$connectnew = serialize($_GET['connectnew']);
$regconnectnew = !$setting['connect']['allow'] && $_GET['connectnew']['allow'] ? 1 : $setting['regconnect'];
C::t('common_setting')->update_batch(array('regconnect' => $regconnectnew, 'connect' => $connectnew));
$connectClient = Cloud::loadClass('Service_Client_Connect');
try {
$res = $connectClient->sync($_GET['connectnew']['like_qq'], $_GET['connectnew']['turl_qq']);
} catch (Cloud_Service_Client_RestfulException $e) {
$res = array('status' => false, 'msg' => cplang('qqgroup_msg_remote_exception', array('errmsg' => $e->getMessage(), 'errno' => $e->getCode())));
}
if(!is_array($res)) {
$res = array('status' => false, 'msg' => 'qqgroup_msg_remote_error');
}
if($res['mblogCode']) {
$_GET['connectnew']['turl_code'] = $res['mblogCode'];
$connectnew = serialize($_GET['connectnew']);
C::t('common_setting')->update('connect', $connectnew);
}
从里面分析,turl_code字段的内容,是程序请求 $connectClient->sync方法返回的结果值的一部分。
而该方法是向http://api.discuz.qq.com/site_connect.php发post请求(参数是like_qq和turl_qq),从命名上分析,感觉似乎turl_code应该和这个turl_qq变量有关,而这个变量对应“官方微博QQ号码”。所以楼主试试修改这个变量再看看。
另外它调用的是(source/plugin/manyou/Service/Client/Restful.php,_callMethod方法,参数是connect.sync,刚刚那两个变量组成的数组),楼主也可以试试构造相同的请求,跟踪下返回结果
楼主可以试试查一下这个请求结果。 |