帝国CMS登陆分析
版本:帝国CMS6.5 (未整合其他程序)
文件:e/class/user.php
函数:login1()
1.每次登陆向会员数据表更新的字段如下:
rnd: 作用是踢出上一个登陆此账号的用户
groupid: 作用是如果此用户会员组为空,则将此用户所在会员组更新为网站设置的默认用户会员组
备注:默认情况下和salt没关系
2.会员登陆必设COOKIE
mluserid
mlusername
mlgroupid
mlrnd
3.登陆附加设置COOKIE 空
使用新浪微博账号登陆到帝国CMS
第1次登陆
使用微博账号第一次登陆帝国CMS就是一个注册的过程,只是这个注册的过程在程序内部完成,trylife在第一次登陆过程中没有设置提示用户填写用户名、密码、邮箱、而是默认都给了默认值,要不和普通注册有啥区别,当用户想住在你网站的时候,他会更改自己的昵称密码和邮箱;第一次登陆过程中帝国CMS默认的几个必填项和字段设置如下:
用户名:微博昵称 如查询微博昵称已经存在则在昵称前加入前缀
密码:随机生成 使用帝国CMS函数 make_password(6) 生成6位的随机密码
邮箱:{新浪微博ID}@t.sina.com.cn API不提供邮箱所以先虚拟一个不存在的邮箱
会员组ID: 函数内解决可以给默认值,也可以使用$user_groupid e/class/user.php 默认注册会员组ID
其他必填字段:都提前给默认值
新增字段sinaweiboid:用于记录微博ID 便于下一次登陆
第1++次登陆
这时候处理就减淡了,根据授权取得的微薄ID 查询帝国CMS会员表得到username,userid,groupid,并使用函数make_password()随机生成12位的rnd,rnd更新到会员表将username,userid,groupid,新rnd写到COOKIE就完成了第1++次登陆;
修改昵称、密码、邮件 这个应该没啥烦恼

退出普通帝国CMS退出,不过微博授权session还在,也可以在退出函数e/class/user.php loginout1()修改下把微博的授权session清除。
同步投稿、评论
为了session传递e/class/connect.php 加入了session_start(); connect.php 99.99%的全站动态页必引文件
同步投稿增加个字段用于记录微博信息ID,这个ID用于评论的时候同步评论到这条微博信息
同步评论如果回复也要同步,那也给评论表多建个储存
剩下的工作就没啥好说的了,修改投稿函数,评论函数,插入相关函数,enews.php ecms.php 加入新的引用文件。。
关于帝国CMS二次开发怎么放,修改系统文件怎么处理还是这个准则:《trylife凌乱的帝国CMS二次开发准则》
下载
和你预想的一样,trylife这没提供下载,需要下载移步到凡姐的BLOG,凡姐有提供下载;
