⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pp_dederemote_interface.asp

📁 强大的PHP内容管理系统尽量不要让站长把时间都花费在为您修正说明上。压缩包解压
💻 ASP
字号:
<%
'--------------------------------------
'本文件用于第三方系统反向整合DedeCms在相关程序调用的接口
'调用本文件的接口函数前必须不能输出任何字符
'使用本接口的系统必须引用md5及base64编码算法(DVBBS里的inc/md5.asp、inc/base64.asp)
'--------------------------------------

Dim cfg_cookie_encode,domain,DedeAPI_Url,cfg_loginJumpUrl,cfg_regJumpUrl,cfg_editJump,cfg_exitJump

'这里请填写DedeCms系统的cookie加密码
cfg_cookie_encode = ""

'Cookie主域名(用 "abc.com" 形式,不要加主机名)
'如你的论坛为 bbs.abc.com 主站为 www.abc.com 
'那么域名应该是  abc.com ,论坛的主域名和主站的主域名必须是相同的,否则将无法登陆
domain = "dedecms.com"

'DedeCms通行证接口网址
'如果程序装在根目录,一般为 http://www.abc.com/member/passport/pp_dederemote_asp.php
'如果你不想让人知道dedecms这个接口(pp_dederemote.php)的真实网址,你也可以把它改其它名称
DedeAPI_Url = "http://www.dedecms.com/member/passport/pp_dederemote_asp.php"


'登录成功后跳转的网址     (空按第三方系统默认)
cfg_loginJumpUrl = "/member/index.php"

'注册成功后跳转的网址     (空按第三方系统默认)
cfg_regJumpUrl = "/member/index.php"

'更改资料成功后跳转的网址 (空按第三方系统默认)
cfg_editJump = ""      

'退出后跳转到的网址       (空按第三方系统默认)
cfg_exitJump = ""



'----------------------------------
'第三方系统与Dedecms系统同步注册、登录、更改密码、退出接口函数
'SynchDedeCms($userid,$action,$userpwd="",$kptime="36000",$newuserpwd="",$email="",$sex="",$uname="")
'参数说明
'-------------------------
'userid          用户登录的用户名,必须
'action          动作,必须,选项为:reg edit login exit test(测试用户ID是否存在)
'userpwd=""      注册(reg)或登录(login)时必须使用
'kptime="36000" cookie保存时间,单位为秒
'newuserpwd=""   新密码,修改密码时必须使用
'email=""        Email 注册时选用
'sex=""          性别,男或女 注册时选用
'uname=""        用户昵称,注册时选用,空则用 $userid
'返回值:
'返回字串前三位为OK!表示操作成功
'返回其它则是错误提示
'--------------------------
Function SynchDedeCms(userid,action,kptime)
	 Dim cpath,keys,querystr,v,signstr,headerStr,rcdata,okdata,okGoUrl
	 Dim headerStrs
	 Dim kys
	 Dim ls
	 Dim ds
	 if kptime="" then kptime = 1
	 Set ds = CreateObject("Scripting.Dictionary")
	 ds.Add "userid",userid
	 ds.Add "action",action
	 ds.Add "kptime",kptime
	 if domain<>"" then
	    cpath = ""
	 else
	 	cpath = "/"
	 end if
	 
	 keys = Array("userid","action","kptime")
   querystr = ""
   For Each v In keys
   	  if ds(v)<>"" then 
   	  	querystr = querystr & v & "=" & Server.UrlEncode(ds(v)) & "&"
   	  end if
   Next
   
   signstr = Left(MD5(userid & cfg_cookie_encode,32),24)
   querystr = querystr & "signstr=" & signstr
   okGoUrl = DedeAPI_Url & "?rmdata=" & Server.UrlEncode(querystr)
   
   rcdata = GetRmData(okGoUrl)
   
   if Len(rcdata) < 3 then
   	 SynchDedeCms = ""
   end if
   if Left(rcdata,3) = "OK!" then
   	  okdata = Replace(rcdata,"OK!","")
   	  'Response.Write rcdata
   	  'Response.End
   	  If okdata<>"" then
   	  	headerStr = Trim(okdata)
   	  	PutCookie "DedeUserID",headerStr,kptime,cpath,domain
   	  	PutCookie "DedeUserIDckMd5",left(MD5(cfg_cookie_encode & headerStr,32),16),kptime,cpath,domain
   	  End If
   	  SynchDedeCms = "OK"
   else
      SynchDedeCms = rcdata
   end if
End Function

Function GetRmData(surl)
  Dim xHttp
  set xHttp = Server.CreateObject("microsoft.xmlhttp")
  xHttp.open "GET",surl,false
  xHttp.send()
  GetRmData = xHttp.responseText
End Function


'按默认参数设置一个Cookie
Sub PutCookie(key,svalue,kptime,pa,dm)
	 if pa = "" then pa = "/"
	 svalue = trim(svalue)
	 Response.Cookies(key) = svalue
	 Response.Cookies(key).Expires = Date+kptime
	 if dm <> "" then
	 	 Response.Cookies(key).Domain = dm
	 end if
	 Response.Cookies(key).Path = pa
End Sub

%>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -