首页 > 编程技术 > php

php 模仿用户登陆读取DZ 论坛验码程序-2

发布时间:2016-11-25 16:00

set_time_limit(0);
session_start();
require("config.php");
if($_SERVER["REQUEST_METHOD"]=="POST")
{
 $cookie_jar2=tempnam("temp","C3");
 $cookie_jar3=tempnam("temp","C4");
 $array=array(
'answer'=>'', 
'formhash'=>$_SESSION["hash"],
'loginfield'=>'username',
'loginsubmit'=>true,
'password'=>trim($_POST["password"]),
'questionid'=>0,
'seccodeverify'=>trim($_POST["code"]),
'username'=>trim($_POST["username"]),
  
);
 $url=DZ."logging.php?action=login&loginsubmit=yes";
 $ch=curl_init();
 curl_setopt($ch,CURLOPT_URL,$url);
 curl_setopt($ch,CURLOPT_USERAGENT,$_SERVER["HTTP_USER_AGENT"]);
 curl_setopt($ch,CURLOPT_POST,1);
 curl_setopt($ch,CURLOPT_POSTFIELDS,http_build_query($array));
 curl_setopt($ch,CURLOPT_COOKIEFILE,$_SESSION["cookie_jar1"]);
 curl_setopt($ch,CURLOPT_COOKIEJAR,$cookie_jar2);
 curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
 curl_exec($ch);
 curl_close($ch);

 $url=DZ."index.php";
 $ch=curl_init();
 curl_setopt($ch,CURLOPT_URL,$url);
 curl_setopt($ch,CURLOPT_USERAGENT,$_SERVER["HTTP_USER_AGENT"]);
 curl_setopt($ch,CURLOPT_COOKIEFILE,$cookie_jar2);
 curl_setopt($ch,CURLOPT_COOKIEJAR,$cookie_jar3);
 curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
 $html=curl_exec($ch);
 curl_close($ch);
 preg_match("/(?<=name="formhash" value=").*?(?=")/",$html,$hash);
 
 echo $html."<br>";

}
 
?>

html文件

header("Content-Type:text/html;charset=utf-8");
?>
请先配置config.php,没有验证码的请直接忽略验证码,不支持中文帐号,仅作交流使用
<form id="form1" name="form1" method="post" action="post.php">
验证码<input type="text" name="code" onblur="ischeck('check.php','status')"><img" width=100% src="getcode.php" style="cursor:pointer;" onclick="this.src+='?'+Math.floor(Math.random()*10);" alt="点击刷新" ><div id="status"></div><br>
用户<input type="text" name="username" value=""><br>
密码<input type="text" name="password" value=""><br>
<input type="submit" name="sub" value="提交">
</form>
<script>
function ischeck(url,id)
{
 var xhr=window.ActiveXObject? new ActiveXObject("Microsoft.XMLHTTP"):new XMLHttpRequest();
 xhr.onreadystatechange=function ()
  {
   if(xhr.readyState==4&&xhr.status==200)
   {
    document.getElementById(id).innerHTML=xhr.responseText;
    
   }
  }
  a=document.form1.code.value;
  url=url+"?code="+a;
  xhr.open("GET",url,true);
  xhr.setRequestHeader("If-Modified-Since","0");
  xhr.send(null);
}
</script>

php ubb转换成html,html转换成ubb代码

function htmlToUBB($str)
{
 $str = preg_replace("/<img[^>]+src="([^"]+)"[^>]*>/i","[img]$1[/img]",$str);

 $str = preg_replace("/<embed[^>]+src="([^"]+)"[^>]*></embed>/i","[video]$1[/video]",$str);

 return $str;
}

function UBB($str)
{
 $auto_arr = array(
     "/(?<=[^]a-z0-9-="'\/])((https?|ftp|mms|rtsp)://)([a-z0-9/-_+=.~!%@?#%&;:$\│]+)/i",
     "/(?<=[^]a-z0-9/-_.~?=:.])([_a-z0-9-]+(.[_a-z0-9-]+)*@[a-z0-9-]+(.[a-z0-9-]+)*(.[a-z]{2,4}))/i",
     "/[img](.+?)[/img]/is",
     "/[video](.+?)[/video]/is"
     );

 $auto_url = array(
     '<a href="\1\3" target="_blank">\1\3</a>',
     '<a href="mailto:\0">\0</a>',
     '<a href="\1" rel="Pic" class="thickbox" onfocus="this.blur()"><img class="userimg"" width=100% src="\1" onError="this.src='./images/img_error.gif'" /></a>',
     '<embed" width=100% src="\1" quality="high" width="480" height="400" align="middle" wmode="Opaque" allowScriptAccess="sameDomain" type="application/x-shockwave-flash"></embed>'
     );

 $str = preg_replace($auto_arr,$auto_url," ".$str);

 $str = nl2br($str);

 return $str;
}

名称:基于CURL的新浪微博接口
@演示:http://demos.fengyin.name/apps/sina-microblog-api.php
@作者:风吟
@博客:http://fengyin.name/
@更新:2009年11月6日 17:15:54
@版权:Copyright (c) 风吟版权所有转载请保留注释,本程序为开源程序(开放源代码)。
只要你遵守 MIT licence 协议.您就可以自由地传播和修改源码以及创作衍生作品.
-------------------------------------------------------
调用方式:
sendmicroblog([帐号],[密码],[内容]);
*/
function sendmicroblog($a, $b, $c) {
    $d = tempnam('./', 'cookie.txt'); //创建随机临时文件保存cookie.
    $ch = curl_init("https://login.sina.com.cn/sso/login.php?username=$a&password=$b&returntype=TEXT");
    curl_setopt($ch, CURLOPT_COOKIEJAR, $d);
    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_TIMEOUT, 10);
    curl_setopt($ch, CURLOPT_USERAGENT, "FengYin");
    curl_exec($ch);
    curl_close($ch);
    unset($ch);
    $ch = curl_init($ch);
    curl_setopt($ch, CURLOPT_URL, "http://t.sina.com.cn/mblog/publish.php");
    curl_setopt($ch, CURLOPT_REFERER, "http://t.sina.com.cn");
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, "content=".urlencode($c));
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_COOKIEFILE, $d);
    curl_exec($ch);
    curl_close($ch);
    unlink($d);//删除临时文件.

}
?>

创建一个新的 PHPExcel 实例
$objPHPExcel = new PHPExcel();

// 这些属性设.置之后,可以通过在生成的excel文件上的“属性->摘要”上看到
$objPHPExcel->getProperties()->setCreator("Maarten Balliauw")//作者
->setLastModifiedBy("Maarten Balliauw")
->setTitle("Office 2007 XLSX Test Document") //标题
->setSubject("Office 2007 XLSX Test Document") //主题
->setDescription("Test document for Office 2007 XLSX, generated using PHP classes.") //备注
->setKeywords("office 2007 openxml php") //关键字
->setCategory("Test result file"); //类别

添加数据
$objPHPExcel->setActiveSheetIndex(0)
            ->setCellValue('A1', 'Hello') //将A列1行放hello值
            ->setCellValue('B2', 'world!')
            ->setCellValue('C1', 'Hello')
            ->setCellValue('D2', 'world!');

$objPHPExcel->setActiveSheetIndex(0)
            ->setCellValue('A4', 'Miscellaneous glyphs')
            ->setCellValue('A5', '顺顺利利');

//设置表名
$objPHPExcel->getActiveSheet()->setTitle('Simple');

$objPHPExcel->setActiveSheetIndex(0);

//生成excel文件
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
$objWriter->save(str_replace('.php', '.xlsx', __FILE__));

php 调用google api 地图显示代码
google.load("maps", "2.x");
google.setOnLoadCallback(initialize);

var map = null;
var geocoder = null;
function initialize() {
 // 检测IE是否支持 Google Map API
 if ( GBrowserIsCompatible() ) {
        map = new google.maps.Map2(document.getElementById('map'));
  geocoder = new GClientGeocoder();

  // 设置地图中心
  map.setCenter(new GLatLng(25.036772,121.520269), 12);
 } // if
 else {
  alert('您流量器不支持Google Map');
 } // else
}

function showLocation() {
 // 清除marker
 map.clearOverlays();
 var address = document.getElementById('txtAddress').value;
 geocoder.getLocations(address, cb_showLocation);
}

function cb_showLocation(result) {
 // 显示结果
 if (result.Status.code == G_GEO_SUCCESS)  {
  // 成功
  for (var i=0; i<result.Placemark.length; i++) {
   var lat = result.Placemark[i].Point.coordinates[1];

// lat
   var lng = result.Placemark[i].Point.coordinates[0];

// lng
   var address = result.Placemark[i].address; // 地址
   var point = new GLatLng(lat,lng);

   var marker=new GMarker(point, {title:i+1});;
   map.addOverlay(marker);
  } // for
 } // if
}

var status=[];
status[G_GEO_SUCCESS]            = "Success";
status[G_GEO_MISSING_ADDRESS]    = "Missing Address";
status[G_GEO_UNKNOWN_ADDRESS]    = "Unknown Address";
status[G_GEO_UNAVAILABLE_ADDRESS]= "Unavailable Address";
status[G_GEO_BAD_KEY]            = "Bad Key";
status[G_GEO_TOO_MANY_QUERIES]   = "Too Many Queries";
status[G_GEO_SERVER_ERROR]       = "Server Error";

标签:[!--infotagslink--]

您可能感兴趣的文章: