?? pp_dederemote_new.php
字號(hào):
<?php
/*-------------------------------------------
通行站反向整合接口遠(yuǎn)程調(diào)用文件,會(huì)員專用版
本接口不需要導(dǎo)入第三方程序的用戶和密碼信息,系統(tǒng)會(huì)自動(dòng)判斷和生成
作者: IT柏拉圖 最后修改日期 2007-3-29
//**********************************************************************
本文件僅作為網(wǎng)關(guān)供遠(yuǎn)程調(diào)用
請(qǐng)使用或參考 pp_dederemote_interface_new.php 提供的接口函數(shù)進(jìn)行整合編程
-----------------------------------------*/
require_once(dirname(__FILE__)."/../../include/config_base.php");
header("Content-Type: text/html; charset=gb2312");
//使用通行證的用戶ID的區(qū)別符號(hào),如果原DEDE系統(tǒng)無(wú)用戶數(shù)據(jù)的不需要理會(huì),否則可以加 @pp 之類的識(shí)別
$ppName = "";
if($cfg_pp_isopen = 0){
echo "系統(tǒng)沒開啟通行證功能,禁止遠(yuǎn)程調(diào)用!";
exit();
}
$cfg_ndsql = 0;
if(empty($rmdata)){
echo "沒接收到任何遠(yuǎn)程數(shù)據(jù)!";
exit();
}
$keys = Array('userid','signstr','action');
foreach($keys as $v) $$v = '';
//解碼GET字符串
$rmdata = base64_decode($rmdata);
$datas = explode('&',$rmdata);
foreach($datas as $ky){
$nkys = explode('=',$ky);
if(in_array($nkys[0],$keys) && isset($nkys[1])) ${$nkys[0]} = urldecode($nkys[1]);
}
$ntime = time();
if($action!='exit'){
//驗(yàn)證證書
if($userid==''||!TestStringSafe($userid)){
echo "用戶ID為空或存在非法字符串!".$oldrmdata;
exit();
}
if(strlen($userid)>24){
echo "用戶ID長(zhǎng)度不能超過24位!";
exit();
}
$testSign = substr(md5($userid.$cfg_cookie_encode),0,24);
if($testSign!=$signstr){
echo "證書驗(yàn)證失敗!";
exit();
}
}
//注解里的function僅方便UltraEdit索引,并無(wú)其它意義
/*--------------------------------
會(huì)員注冊(cè)
function __UserReg()
---------------------------------*/
if($action=='reg'){
Z_OpenSql();
$userpwd = chr(mt_rand(ord('A'),ord('Z'))).chr(mt_rand(ord('a'),ord('z'))).chr(mt_rand(ord('A'),ord('Z'))).chr(mt_rand(ord('A'),ord('Z'))).chr(mt_rand(ord('a'),ord('z'))).mt_rand(1000,9999).chr(mt_rand(ord('A'),ord('Z')));
$userpwd = GetEncodePwd($userpwd);
$loginip = Z_GetIP();
$ppuserid = $userid.$ppName;
$inQuery = "
INSERT INTO #@__member(userid,pwd,uname,sex,birthday,membertype,money,
weight,height,job,province,city,myinfo,tel,oicq,email,homepage,
jointime,joinip,logintime,loginip,showaddr,address)
VALUES ('$ppuserid','$userpwd','$userid','','0000-00-00','10','0',
'0','0','','0','0','','','','','','$ntime','$loginip','$ntime','$loginip','0','');";
$cfg_ndsql->ExecuteNoneQuery($inQuery);
$row = $cfg_ndsql->GetOne("Select ID From #@__member where userid like '{$userid}$ppName' ");
$ID = $row['ID'];
Z_CloseSql();
echo 'OK!'.$ID;
exit();
}
/*--------------------------------
會(huì)員登錄
function __UserLogin()
---------------------------------*/
else if($action=='login'){
Z_OpenSql();
$row = $cfg_ndsql->GetOne("Select ID,pwd From #@__member where userid like '{$userid}$ppName' ");
$loginip = Z_GetIP();
if(!is_array($row)){
$userpwd = chr(mt_rand(ord('A'),ord('Z'))).chr(mt_rand(ord('a'),ord('z'))).chr(mt_rand(ord('A'),ord('Z'))).chr(mt_rand(ord('A'),ord('Z'))).chr(mt_rand(ord('a'),ord('z'))).mt_rand(1000,9999).chr(mt_rand(ord('A'),ord('Z')));
$userpwd = GetEncodePwd($userpwd);
$ppuserid = $userid.$ppName;
$inQuery = "
INSERT INTO #@__member(userid,pwd,uname,sex,birthday,membertype,money,
weight,height,job,province,city,myinfo,tel,oicq,email,homepage,
jointime,joinip,logintime,loginip,showaddr,address)
VALUES ('$ppuserid','$userpwd','$userid','','0000-00-00','10','0',
'0','0','','0','0','','','','','','$ntime','$loginip','$ntime','$loginip','0','');";
$cfg_ndsql->ExecuteNoneQuery($inQuery);
$row = $cfg_ndsql->GetOne("Select ID,pwd From #@__member where userid like '$userid' ");
}
$ID = $row['ID'];
$cfg_ndsql->ExecuteNoneQuery("update #@__member set logintime='$ntime',loginip='$loginip' where ID='$ID' ");
Z_CloseSql();
echo 'OK!'.$ID;
exit();
}
/*--------------------------------
退出系統(tǒng)
function __UserExit()
---------------------------------*/
else if($action=='exit'){
echo 'OK!0';
exit();
}
/*--------------------------------
無(wú)法識(shí)別遠(yuǎn)程動(dòng)作
function __ActionError()
---------------------------------*/
else{
echo "無(wú)法識(shí)別你的動(dòng)作!";
exit();
}
//其它功能如函數(shù)
function Z_OpenSql(){
global $cfg_ndsql;
if(!$cfg_ndsql) $cfg_ndsql = new DedeSql(false);
}
function Z_CloseSql(){
global $cfg_ndsql;
if($cfg_ndsql) $cfg_ndsql->Close();
}
function Z_GetIP(){
if(!empty($_SERVER["HTTP_CLIENT_IP"])) $cip = $_SERVER["HTTP_CLIENT_IP"];
else if(!empty($_SERVER["HTTP_X_FORWARDED_FOR"])) $cip = $_SERVER["HTTP_X_FORWARDED_FOR"];
else if(!empty($_SERVER["REMOTE_ADDR"])) $cip = $_SERVER["REMOTE_ADDR"];
else $cip = "無(wú)法獲取!";
return $cip;
}
?>
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -