·您当前的位置:首页 > 技术教程 > PHP教程 >

[php]discuz论坛登陆信息判断外部调用的用法实例

时间:2015-08-05 16:45酷播
discuz登陆框是ajax调用的,一开始在firebug下看到了调用了接口[php]discuz论坛登陆信息判断外部调用的用法实例

方法1:discuz登陆框是ajax调用的,一开始在firebug下看到了调用了接口:
http://home.ecjtu.net/member.php
?mod=logging&action=login&infloat=yes&handlekey=login&inajax=1&ajaxtarget=fwin_content_login
1 http://home.ecjtu.net/member.php
2 ?mod=logging&action=login&infloat=yes&handlekey=login&inajax=1&ajaxtarget=fwin_content_login

这返回的是一个xml的内容,其中就一个结点root,里面会根据本地的cookies判断是否登录了论坛,如果没有登陆里面的内容就是一段form登陆表单。如果登陆了里面就是一段登陆后的信息。然后将ajax请求中的css保存到本地。能够实现登陆框调用。登陆框中有一个hidden的input name=‘reffer’ 这里面的value值是来路链接.不过要是论坛程序里的。比如将这个连接换成http://home.ecjtu.net/home.php?mod=spacecp&ac=blog这样登陆完后会自动跳转到发博客的页面。可以实现一键发帖功能。

代码如下:

<?php
$login = file_get_contents("http://home.ecjtu.net/member.php?
mod=logging&action=login&infloat=yes&handlekey=login&inajax=1&ajaxtarget=fwin_content_login");
require_once('SofeeXmlParser.php');//xml解析类 博客里搜索xml有相关介绍
$xml = new SofeeXmlParser();
$xml->parseString($login);
$tree = $xml->getTree();
$login = str_replace("member.php","http://home.ecjtu.net/member.php",$tree["root"]["value"]);
$login = str_replace("http://home.ecjtu.net/./","http://home.ecjtu.net/home.php?
mod=spacecp&ac=blog",$login);//跳转到发帖页面
$login = preg_replace('/<h3 class="flb">(.*)<\/h3>/i','',$login);
var_dump($login);
exit();
$login = iconv('utf-8','gbk',$login);

echo $login;
?>

01 <?php
02 $login = file_get_contents("http://home.ecjtu.net/member.php?
03 mod=logging&action=login&infloat=yes&handlekey=login&inajax=1&ajaxtarget=fwin_content_login");
04 require_once('SofeeXmlParser.php');//xml解析类 博客里搜索xml有相关介绍
05 $xml = new SofeeXmlParser();
06 $xml->parseString($login);
07 $tree = $xml->getTree();
08 $login = str_replace("member.php","http://home.ecjtu.net/member.php",$tree["root"]["value"]);
09 $login = str_replace("http://home.ecjtu.net/./","http://home.ecjtu.net/home.php?
10 mod=spacecp&ac=blog",$login);//跳转到发帖页面
11 $login = preg_replace('/<h3 class="flb">(.*)<\/h3>/i','',$login);
12 var_dump($login);
13 exit();
14 $login = iconv('utf-8','gbk',$login);
15
16 echo $login;
17 ?>

sad.png

这个方法缺点是form中的内容不好改变。正则都不好匹配div class都一样...一定要按这个样式来。

热门文章推荐

请稍候...

保利威视云平台-轻松实现点播直播视频应用

酷播云数据统计分析跨平台播放器