PHPwind整合最土系统用户同步登录实现方法

上次成功升级了最土商业版,接下来就是整合公司的社区网站,先说明一下我现在工作的地方是个地方社区网站,用的基础程序是PHPWind,我的任务就是让PHPWind和最土登录同步,领导也知道我的技术能力有限,不怎么高要求,所以让我先实现,再考虑其他。赶鸭子上架,开工了。
在我未成熟的程序思考能力下,我首先否定了重写程序这个方法,再次否定了将PHPWind的验证方法引入到最土的方法,最后想出一个折中的办法,将两张表的唯一ID相同:将PHPWind用户表设为主表,最土用户表为外接表,让最土用户ID和PHPWind用户表UID一一对应,通过用户ID来完成接下来的同步工作。
多话不说,上步骤。
第一步:用户同步
新建PHPWind用户,最土同步相应用户,最土ID对应PHPWind用户ID。
register.php


代码如下:

$db->update("insert into tg_user (id,email,username,password,city_id,create_time,enable,realname) values ('".$winduid."','".addslashes($regemail)."','".addslashes($regname)."','".$windpwd."','1','".time()."','Y','".addslashes($regname)."')");

第二步:修改最土登录模式使用Cookie方式
去掉密码,将验证用户名改成用户ID。
ZUser.class.php


代码如下:

$field = strpos($email, '@') ? 'email' : 'id';//username
$zuituuser = DB::GetTableRow('tg_user', array(
$field => $email,
//'password' => $password,

index.php


代码如下:

$login_user = ZUser::GetLogin($_COOKIE['CookieID'], $_POST['password']);
Session::Set('user_id', $login_user['id']);
ZLogin::Remember($login_user);
ZUser::SynLogin($_POST['email'], $_POST['password']);

第三步:登录PHPWind将用户ID写入Cookie值,退出PHPWind将用户ID从Cookie值里清除
login.php/register.php
写入Cookie
setCookie("CookieID", $Winduid);
清除Cookie
setcookie("CookieID", "", time() - 3600);
第四步:修改最土页面连接
header.html


代码如下:

<ul class="links">
<li class="username">欢迎您,{$login_user['username']}!</li>
<li class="account"><a href="/order/index.php" id="myaccount" class="account">我的{$INI['system']['abbreviation']}</a></li>
<li class="logout"><a href="http://www.cnblogs.com/../login.php?action=quit&verify={$_COOKIE['SetOut']}">退出</a></li>
</ul>
<!--{else}-->
<ul class="links">
<li class="login"><a href="/../login.php">登录</a></li>
<li class="signup"><a href="/../register.php">注册</a></li>
</ul>

同步登录成功,所有的登录和退出全部在PHPWind内进行,而最土只负责接受传递是否是空值来确认是否登录。

(0)

相关推荐

  • phpwind管理权限泄露漏洞利用程序发布

    漏洞发布:http://www.80sec.com/  漏洞作者:jianxin@80sec.com  漏洞厂商: http://www.phpwind.com/ 本漏洞影响phpwind所有版本  漏洞危害:高  漏洞说明:phpwind是国内使用非常广泛的一款程序,由于在程序设计上存在错误,导致任何人可以取得前台管理员及斑主权限,做删除帖子等任意操作 利用方式:http://www.80sec.com有提供exploit  漏洞分析:由于phpwind论坛在设计上对数据库存储机制不了解,导致

  • php heredoc和phpwind的模板技术使用方法小结

    在PHP的文档中,只是提到了echo可以使用如下命令输出多行字符串(而且其中的变量被自动替换): PHP代码  复制代码 代码如下: echo <<<END     This uses the "here document" syntax to output      multiple lines with $variable interpolation. Note      that the here document terminator must appear 

  • phpwind Exp 漏洞利用

    忘记什么时候我就拿到了,一直没发挥.由于某些原因一直没发出来,毕竟不是原创,现在有人帖出来了,我也放出来.  程序代码 <?php print_r(" +------------------------------------------------------------------+ Exploit For Phpwind 5.X Version BY  Loveshell Just For Fun :) +---------------------------------------

  • PHPWind 发帖回帖Api PHP版打包下载

    发帖演示: 次数: 5 地址: http://localhost/Test/upload/post.php?fid=5 完成时间: 2010-02-04 05:49:27 [ 发帖完毕点击进入主题列表 ] 灌水预防机制已经打开,在5秒内不能发帖 [ 发帖完毕点击进入主题列表 ] 灌水预防机制已经打开,在5秒内不能发帖 [ 发帖完毕点击进入主题列表 ] 共发送5次. 回帖演示: 次数: 5 地址: http://localhost/Test/upload/read.php?tid=41&page=

  • phpwind中的数据库操作类

    <?php /*来源:phpwind.net*/ Class DB { var $query_num = 0; function DB($dbhost, $dbuser, $dbpw, $dbname, $pconnect = 0) { $this->connect($dbhost, $dbuser, $dbpw, $dbname, $pconnect); } function connect($dbhost, $dbuser, $dbpw, $dbname, $pconnect = 0) {

  • PHP 优化配置——加速你的VBB,phpwind,Discuz,IPB,MolyX第1/2页

    让论坛速度更快 PHP加速设置 PHP加速:Zend Optimizer优化PHP程序 Zend Optimizer V2.5.7 For Windows  软件语言:英文 运行环境:Win9x/NT/2000/XP Zend Optimizer V2.5.7 For Windows软件介绍: Zend Optimizer用优化代码的方法来提高PHP 4.0应用程序的执行速度.实现的原理是对那些在被最终执行之前由运行编译器(Run-Time Compiler)产生的代码进行优化.一般情况下,执行

  • PHPWind9.0手动屏蔽验证码解决后台关闭验证码但是依然显示的问题

    最近在设计一款产品,需要POST登录PHPWind,然而众所周知,PHPWind9(以下简称pw9)自身拥有安全策略,详情各位可以自己去phpwind官方论坛看.安全策略的存在会导致即便站长关闭验证码策略依然在登陆时会显示验证码(前提是该用户重试太多次). 要POST登录,并且不需要验证码,就得处理这个问题,然而官方并没有提供解决的方案,只能依赖自己处理. 首先要明白,phpwind不像众多简单的php程序一般只是简单的该页面代码放置于对应文件中,每一次访问都会调用wekit.php,再由wek

  • PHPWind与Discuz截取字符函数substrs与cutstr性能比较

    以掌握使用Benchmark_Iterate类工具的方法. 目录 一,什么是PEAR与Benchmark 二,性能比较代码准备与调试 三,性能比较测试结果 四,性能比较测试总结 五,附性能比较源代码下载 一,什么是PEAR与Benchmark 请参考PHP性能优化系列 第二期 PHP性能优化工具篇Benchmark类调试执行时间 第一期 PHP性能优化准备篇图解PEAR安装 二,性能比较代码准备与调试 测试环境说明 操作系统:Windows xp Service Pack 3 PHP版本:PHP

  • 关于phpwind克隆用户的方法

    作者:lcx 来源:vbs小铺 首先将字符集中的174转一下,wscript.echo "%"&CStr(Hex(ascb(chrb(174)))),url编码的结果为%AE.当然你用别的字符集里(129-255)的也可以, 我用的是174.然后用achilles(安焦有下),修改post数据,在用户名后加上%AE提交即可.你用别的即时提交工具,好比mini browse也是可以的,这样可以防止注册码的问题.

  • PHPWIND 5.3 运行代码 功能实现代码

    照样子弄了一下,发现数据格式已经换了,想着弄弄看,随便弄了下,感觉还有搞头.不过里面有<br />,PHP的字符替换我也不懂,试了下preg_replace发现只能替换一个,搞笑了.上网猛查资料,发现大多人说要用函数,汗汗.然后发现还有str_replace,试了下,总算可以了. 具体方法如下: 在template/你的模板名/read.html 在合适的地方加入: 复制代码 代码如下: <script> function run_Code(code) { var pop=wind

随机推荐