hanliu's personal blog

任何伟大都会被误解...Wiki Is All 注册 | 登陆
Contact me!

我,在某年某月来到这个世界。于某年某月创建了该BLOG,其间在BLOG的 10 个分类中发表的 513 篇文章被评论了 37 次。

基于cookie和主库的通行证passport体系

开始 1.我们要弄一个主的用户数据库,该数据库用于存贮用户通行证的数据登录验证都是从这个库出发,当然你也可以使用现成的程序自带的用户数据库。 2.写一套登录注册程序,当然你也可以不必写完全可以直接使用现成的程序。 假设为 程序1 3.登录创建一个cookie,用该cookie就可以完成用户验证。该cookie创建为全域使用。设为cookie1 4.接下来写一个单纯的来验证该cookie有限性的文件,如果该cookie有效,就将相关用户数据发送出去。假设为1.php 5.现在就是使用了,程序2 执行的时候判断cookie1如果存在就在程序内部通过url来访问1.php并传递cookie1过去通过远程1.php验证本地cookie1的有效性,如果成功的话将会得到用户的相关数据。通过获得的相关数据判断程序2中是否存在这个用户,如果成功则完成程序2登录,如果不存在创建该用户并完成程序2登录。 使用该方式后,登录,退出,注册,全部使用程序1来完成。 特点 1.该通信证体系的最大的特点就是简单,基本上1-2分钟就能完成程序上的修改,我们唯一要修改的是所要整合过来程序的验证方式。 2.程序数量无关性,反正都是通过主表去验证,有多少程序整合都是无关的。 3.程序语言无关性,只要能判断cookie读取远程文件就可。 3.服务器无关性,你的多个程序完全可以在不同的地方执行。 当然相关数据的传递都是需要通过一定算法加密的,以上讲的比较简单没有一一说明。 这种方式的通行证程序相互独立性强。 局限性: 1.由于的cookie的特性大概只能用于单一主域名下。(比如 *.kxup.com) 2.还有由于cookie的问题,在cookie禁用的情况下,该方式失去任何意义。 3.如果现有多个程序已经各自有会员数据就比较麻烦,必须把数据整理汇总。 明天给大家实际演示的程序实例,程序已经写好了,明天上传。(主程序是自己的,从属整合程序是discuz5.5) 实际使用 1.通过cookie1来验证用户,验证通过,不存在用户就创建用户 ,接下来创建discuz5.5自身登录验证体系。 为了以后discuz的升级不想修改太多,现在修改的文件是commm.inc.php 和logging.php(由于自身验证,所以还要使用该文件来退出)。程序上要关闭自身注册。 还有就是discuz密码修改没有意义了。 问题,由于使用discuz5.5自身的验证体系,所以如果在discuz上登录成功后,仅主程序退出,discuz不会完成退出。只有通过discuz上的退出才能完成全部的退出。不过问题不大,只是通过sid验证的登录,关闭浏览器就能完成退出。 开始 1.我们要弄一个主的用户数据库,该数据库用于存贮用户通行证的数据登录验证都是从这个库出发,当然你也可以使用现成的程序自带的用户数据库。 2.写一套登录注册程序,当然你也可以不必写完全可以直接使用现成的程序。 假设为 程序1 3.登录创建一个cookie,用该cookie就可以完成用户验证。该cookie创建为全域使用。设为cookie1 4.接下来写一个单纯的来验证该cookie有限性的文件,如果该cookie有效,就将相关用户数据发送出去。假设为1.php 5.现在就是使用了,程序2 执行的时候判断cookie1如果存在就在程序内部通过url来访问1.php并传递cookie1过去通过远程1.php验证本地cookie1的有效性,如果成功的话将会得到用户的相关数据。通过获得的相关数据判断程序2中是否存在这个用户,如果成功则完成程序2登录,如果不存在创建该用户并完成程序2登录。 使用该方式后,登录,退出,注册,全部使用程序1来完成。 特点 1.该通信证体系的最大的特点就是简单,基本上1-2分钟就能完成程序上的修改,我们唯一要修改的是所要整合过来程序的验证方式。 2.程序数量无关性,反正都是通过主表去验证,有多少程序整合都是无关的。 3.程序语言无关性,只要能判断cookie读取远程文件就可。 3.服务器无关性,你的多个程序完全可以在不同的地方执行。 当然相关数据的传递都是需要通过一定算法加密的,以上讲的比较简单没有一一说明。 这种方式的通行证程序相互独立性强。 局限性: 1.由于的cookie的特性大概只能用于单一主域名下。(比如 *.kxup.com) 2.还有由于cookie的问题,在cookie禁用的情况下,该方式失去任何意义。 3.如果现有多个程序已经各自有会员数据就比较麻烦,必须把数据整理汇总。 明天给大家实际演示的程序实例,程序已经写好了,明天上传。(主程序是自己的,从属整合程序是discuz5.5) 实际使用 1.通过cookie1来验证用户,验证通过,不存在用户就创建用户 ,接下来创建discuz5.5自身登录验证体系。 为了以后discuz的升级不想修改太多,现在修改的文件是commm.inc.php 和logging.php(由于自身验证,所以还要使用该文件来退出)。程序上要关闭自身注册。 还有就是discuz密码修改没有意义了。 问题,由于使用discuz5.5自身的验证体系,所以如果在discuz上登录成功后,仅主程序退出,discuz不会完成退出。只有通过discuz上的退出才能完成全部的退出。不过问题不大,只是通过sid验证的登录,关闭浏览器就能完成退出。

« 上一篇 | 下一篇 »

Trackbacks

点击获得Trackback地址,Encode: UTF-8 点击获得Trackback地址,Encode: GB2312 or GBK 点击获得Trackback地址,Encode: BIG5

Leave a Comment

评论内容 (必填):