session行不通,因为不是一个站点可以在一个论坛登录的时候,发送请求到另外一个论坛<%
UserName=Request("UserName")
PassWord=Request("Password")Response.Redirect("http://另一论坛地址/login.asp?UserName=" & UserName & "&Password=" & Password%>另一论坛的login.asp文件内容
<%
UserName=Request.QueryString("UserName")
Password=Request.QueryString("Password")
if UserName<>"" and Password<>"" then
'检测用户 名密码登录
end if
%>
UserName=Request("UserName")
PassWord=Request("Password")Response.Redirect("http://另一论坛地址/login.asp?UserName=" & UserName & "&Password=" & Password%>另一论坛的login.asp文件内容
<%
UserName=Request.QueryString("UserName")
Password=Request.QueryString("Password")
if UserName<>"" and Password<>"" then
'检测用户 名密码登录
end if
%>
在第一论坛登录的时候,再打开一个页 登录另外一个论坛
<?php echo "<script>window.open('http://另一论坛地址/login.php?UserName=".$UserName."&Password=".$Password."');</script";?> 另外一个论坛没有验证码的话根据他的用户名和密码文本框,这样"可能"能正确登录,不用改代码
<!--<?php print <<<EOT
-->
<table width='$tablewidth' cellspacing=0 cellpadding=0 align=center><tr><td align=left>
<img src='$imgpath/$stylepath/index/home.gif' align=absbottom>
<b><a href='$db_bfn'>$db_bbsname </a> -> 登录程式</b></td></tr></table><br><form action="login.php?" method="post" name="login" onSubmit="this.submit.disabled=true;">
<table width='$tablewidth' cellspacing=0 cellpadding=1 align=center $i_table>
<tr><td>
<table width=100% cellspacing=0 cellpadding=6 class='f_one'>
<tr><td class=head colspan=2 height=27><b>登录程式</b></td></tr>
<tr><td rowspan=7 width=3%></td>
<td width='100%'><br>请输入您的帐号与密码,然后点击登录按钮. 如果您没有注册,请先<a href='register.php'><font color=blue><b>注册成为会员</b></font></a>。提示:您的浏览器必须支持cookie,否则将不能登录论坛。<br><b> 注意:</b>如果您在网吧,有效时间请选择即时登录; </td></tr>
<tr><td>用户名 <input type="text" maxLength="20" name="pwuser" size="40" tabindex="1"></td></tr>
<tr><td>密码 <input type="password" maxLength="20" name="pwpwd" size="40" tabindex="2"></td></tr>
<!--
EOT;
if($logingd){
$rawwindid=addslashes($windid);
print <<<EOT
-->
<tr><td>认证码 <input type='text' maxLength=4 name='gdcode' size=8 tabindex="3"> <img src="ck.php?windid=$rawwindid" align=absmiddle></td></tr>
<!--
EOT;
}print <<<EOT
-->
<tr><td>
隐身登录
<input name=hideid type=radio value='1'> 是  
<input name=hideid type=radio value='0' checked tabindex="4"> 否  
<!--
EOT;
if(!$db_hidelogin){print <<<EOT
-->
(后台已禁止普通会员使用隐身登录功能)
<!--
EOT;
}print <<<EOT
-->
</td></tr>
<tr><td>
Cookie 有效期:
<input type='radio' name='cktime' value='31536000' checked tabindex="5"> 一年
<input type='radio' name='cktime' value='2592000'> 一个月
<input type='radio' name='cktime' value='86400'> 一天
<input type='radio' name='cktime' value='3600'> 一小时
<input type='radio' name='cktime' value='0'> 即时
</td></tr>
<tr><td>
如果您忘记密码或用户名,请点击 '<a href='sendpwd.php'>找回密码</a>' 并输入用户名,我们的系统将自动发送密码到您的有效邮箱中。
</td></tr>
</table>
</td></tr>
</table>
<center>
<br>
<input name='submit' type='submit' value='提 交' tabindex="6">
</center>
<input type='hidden' value='$jumpurl' name='jumpurl'>
<input type='hidden' value='2' name='step'>
</form>
<script language="JavaScript">
document.login.pwuser.focus();
</script>
<!--
EOT;
?>-->
=======================================================================
========================================================================
<?php
require_once('global.php');!($pre_url=$_SERVER['HTTP_REFERER']) && $pre_url = $db_bfn;if(strpos($pre_url,'login.php')!==false || strpos($pre_url,'register.php')!==false) {
$pre_url = $db_bfn;
}
if ($groupid!='guest' && $action!="quit"){
Showmsg('login_have');
}
list(,$logingd)=explode("\t",$db_gdcheck);if (!$action) $action="login";
if ($action=="login"){
if (!$step){
$jumpurl=$pre_url;
require_once(R_P.'require/header.php');
require_once(PrintEot('login'));footer();
} elseif($_POST['step']==2){
$logingd && GdConfirm($gdcode);
require_once(R_P.'require/checkpass.php');
include_once(D_P."data/bbscache/dbreg.php"); unset($hp);
if($pwuser && $pwpwd){
$pwpwd=md5($pwpwd);
list($winduid,$groupid,$pwpwd)=checkpass($pwuser,$pwpwd);
} else{
Showmsg('login_empty');
}
if(file_exists(D_P."data/groupdb/group_$groupid.php")){
require_once(D_P."data/groupdb/group_$groupid.php");
}else{
require_once(D_P."data/groupdb/group_1.php");
}
$windpwd = $pwpwd;
$cktime != 0 && $cktime += $timestamp;
Cookie("winduser",StrCode($winduid."\t".$windpwd),$cktime);
Cookie('lastvisit','',0);//将$lastvist清空以将刚注册的会员加入今日到访会员中
if($db_autoban){
require_once(R_P.'require/autoban.php');
autoban($winduid);
}
$gp_allowhide && $hideid==1 ? Cookie('hideid',$hideid,$cktime) : Loginipwrite($winduid);
empty($jumpurl) && $jumpurl=$db_bfn;
refreshto($jumpurl,'have_login');
}
} elseif($action=="quit"){
require_once(R_P.'require/checkpass.php');
if($groupid=='6'){
$bandb=$db->get_one("SELECT type FROM pw_banuser WHERE uid='$winduid'");
if($bandb['type']==3){
Cookie('force',$winduid);
}
}
Loginout();
refreshto($pre_url,'login_out');/*退出url 不要使用$pre_url 因为如果在修改密码后会造成一个循环跳转*/
}
?>
=================================================================================
比如 a站点 Login.htm接收用户输入以后,提交给后台Login.php处理,那就修改
Login.php 在获得用户信息验证并登陆以后,发送信息给b站点的 Login.php再校验一次
呵呵 属于垃圾做法,效率不高,可是对站点访问量 并不是很高的情况下是可行的 以后这么干过
优点:简单 方便:)
——————————————————————————————
$pwpwd=md5($pwpwd);试试在这上面语句下面加个echo "<script>window.open('http://另一论坛地址/login.php?pwuser=".$pwuser."&pwpwd=".$pwpwd."&action=login');</script>"
——————————————————————————————Dereky() 怎么发信息b站点呢?
另一方面,你的硬件可能得升一下
先对Password进行加密.
用Get放出去(我看上面也有人这么说).
2域名上都得有接收页.
(用笨点的办法2接收页都iframe在一起,保证可行 嘎嘎……)
建Cookies.
跳转到目标页.够笨吧:)