文章列表
 
您正在查看 "discuz!" 分类下的文章

2009年06月03日 星期三 16:04
原文地址:http://www.wangzuxi.cn/?p=96

前几天在做“长春商都” 的开发时,由于要开论坛,所以得要自己开发的网站与论坛同步注册、登录、退出,之前没有弄过这种东西,接口技术也是第一次遇到,当时以为挺简单花不了几个 小时会弄好,可是看了官方帮助还是不懂,在谷歌、百度上找了两天,虽然找到了discuz的注册、登录接口怎么用,但都说得太“专业”,自己还是一无所 获,两
 
2009年02月17日 星期二 18:04

logging.php

<?php
//定义操作页面
define('CURscrīpt', 'logging');

//包含公共文件
require_once './include/common.inc.php';
//包含misc函数文件
require_once DISCUZ_ROOT.'./include/misc.func.php';
//判断动作
//注销
if($action == 'logout' && !empty($formhash) && $formhash == FORMHASH

 
2009年02月17日 星期二 18:03
在做项目时候需要集成discuz bbs、ucenter、ucenter home各个系统,这就要求自己的系统在进行用户注册时候同步在bbs、sns中增加对应的用户信息,由于discuz的各系统密码都为非明文串,因此要 做到Discuz的用户帐户体系与业务系统同步,必然面临Discuz 用户密码加密算法问题。同时与同时由于有近百万的老的用户数据需要能够导入到bbs、sns的数据库中,因此方案应当支持批量导入操作。

1、可选方案

  • 程序通过ajax方式或httpclient模拟调用discuz ucenter home及bbs的注册url地址,提交接口所需要的各种参
 
2009年02月17日 星期二 18:02

在构建我的vita系统的过程中,发现管理员管理的便捷与系统安全隐患之间的矛盾
全站采用cookie验证,比如wordpress的验证就是基于cookie的,由于cookie的明文传输
在局域网内极易被截获,或者这个vita在我不发骚的情况下存在了XSS漏洞的话,cookie被人截获,
在这种情况下,等于站点被人xxx了

另一种情况就是利用session来进行管理员身份的认证,但是由于php天生对于session的处理机制的问题,不能长时间保存,利用数据库构建的session系统开销太大,在这种情况下,我就只好先研究先下大家是怎么

 
2009年02月17日 星期二 18:01
DISCUZ和很多论坛都无法进行会话劫持,因为会话和IP绑定了,DISCUZ主要的会话认证机制如下:

/inlude/common.inc.php
//第136行 验证会话重要的一段就是从sessions表中查询SID,其中一个重要的条件就是$onlineip,如果$onlineip和sessions表中的IP信息无法对应,就不能继续建立sessions表中保存的会话。
--------------------------------------------------------------------------------








if($sid) {
if($discuz_uid) {
 
2009年02月17日 星期二 18:00
相信论坛里的朋友很多都在用discuz 并会因为种种的需要结合discuz做各种系统
对此,discuz提供了通行证 可有时候使用通行证不一定适用 就比如说那一段很长很长的url吧 看着就让人心烦
有什么解决方法捏?为了社区朋友们以后方便开发 这几天呕心沥血 肝肠寸断 孜孜不倦 终于让偶给想出了一个比较天才的想法
:hoho 那就是生成一个discuz 验证cookie

废话说完了 开始正题:
开始之前 咱先了解一下discuz的登陆机制

先来一个简单的form

 
2009年02月17日 星期二 16:25
用php写discuz的web serivce接口时,要提供一个注册用户的接口,我把数据插入cdb_members和cdb_memberfields表后,再调用
./uc_client/client.php中的
uc_user_register($username, $password, $email, $questionid, $answer);

后,得到成功的信息,但是登陆bbs的时候,系统却提示这个用户没有激活。

找了半天,才发现,先调用
uc_user_register($username, $password, $email, $questionid, $answer);
然后,由上面的函数得到一个$uid,用这个$uid,向cdb_members和cdb_memberfields表插入相同的$ui
 
2009年02月17日 星期二 11:18
有个支持php的服务器环境是必须的了

然后看我写的代码我们来一起研究ucenter的加密算法。

研究过那么一两次的人都应该知道uc的数据库里你设置同样的密码注册得到的md5加密都不一样。

这个问题很简单就是他的密码是拼接了一个随机的字符串$salt

那么这个$salt是怎么得到的呢!

这个$salt在uc_client\model\user.php

这个文件中能找的到

那么我先把他的代码贴出来
<code>
Line 103 :   $salt = substr(uniqid(rand())
 
2009年02月16日 星期一 11:54
Discuz! 数据库结构参考
总表===>>

各表概述
cdb_access--当某用户对某些版块有特定的权限的时候,该表记录了该用户在这些版块有什么权限。
cdb_admingroups--管理模组信息表
cdb_adminsessions--后台管理登录记录
cdb_announcements--论坛公告信息
cdb_attachments--附件信息表
cdb_attachtypes--附件的所性类型(即后台的附件类型设置,如果没有设置,默认为空。)
cdb_banned--IP禁止
 
2009年02月16日 星期一 11:49

必须至少具备如下技能:


       1) 能够理很好理解MVC构架的原理(虽然DZ不是MVC架构的)
       2) 扎实的PHP基础,熟悉结构化程序,OOP程序的写法及应用
       3) 熟悉MYSQL就用,掌握SQL语言,懂SQL优化者更佳
       4) 熟悉使用Discuz!的各项功能

一) Discuz!的文件系统目录
 
   
 
 
文章存档
 
     
 
最新文章评论
  

PHP 类型
 

[表情]
 

正要用。谢谢
 

我这个怎么总是差 call包呀 我已经将配置配好了的 能告诉我怎样加进去嘛?
 

边看边学习
   
帮助中心 | 空间客服 | 投诉中心 | 空间协议
©2012 Baidu