本人是PHP新手(以前做ASP的)
近段时间做一个网站,涉及到与DISCUZ的整合
在网上看到不少这样的贴子
有用通行证的,也有高手自己去写整合代码的
发现都不适合我(也许是我没完全看懂他们的意思)由于我这个站对整合程度要求不高
只要求能实现同步登录
所以我想这样实现:
网站的用户数据表,登录入口及登录验证模块等等用的都是DISCUZ的。
只是想在登录入口部分传个参数或隐藏域,LOGGING页通过判断这个参数,再决定是跳到论坛首页还是网站的指定页面。可是我对DISCUZ的LOGGING页的代码看的不太懂,改了好长时间还没有改成功。希望前辈位帮忙指点一下。先谢谢了
啊!
近段时间做一个网站,涉及到与DISCUZ的整合
在网上看到不少这样的贴子
有用通行证的,也有高手自己去写整合代码的
发现都不适合我(也许是我没完全看懂他们的意思)由于我这个站对整合程度要求不高
只要求能实现同步登录
所以我想这样实现:
网站的用户数据表,登录入口及登录验证模块等等用的都是DISCUZ的。
只是想在登录入口部分传个参数或隐藏域,LOGGING页通过判断这个参数,再决定是跳到论坛首页还是网站的指定页面。可是我对DISCUZ的LOGGING页的代码看的不太懂,改了好长时间还没有改成功。希望前辈位帮忙指点一下。先谢谢了
啊!
$dz_config['dz_bbs_database'] = 'yourdb.';
$dz_config['dz_table_prefix'] = 'cdb_';
$dz_config['dz_bbs_domain'] = 'http://www.yourbbs.com/';
$dz_config['dz_bbs_imgurl'] = 'http://www.yourbbs.com/attachments/';
$dz_config['dz_cache_dir'] = '/app/web/www.yourbbs.com/forumdata/cache/';
$dz_config['dz_cookie_prefix'] = 'cdb_'; if(include_once($dz_config['dz_cache_dir'] . 'cache_settings.php'))
{
$discuz_auth_key = md5($_DCACHE['settings']['authkey'].$_SERVER['HTTP_USER_AGENT']);
}
else
{
$thissetting = $DB->query_first("select * from " . $dz_config['dz_bbs_database'] . $dz_config['dz_table_prefix'] . "settings where variable = 'authkey'");
$discuz_auth_key = md5($thissetting['value'].$_SERVER['HTTP_USER_AGENT']);
}function daddslashes($string, $force = 0) {
!defined('MAGIC_QUOTES_GPC') && define('MAGIC_QUOTES_GPC', get_magic_quotes_gpc());
if(!MAGIC_QUOTES_GPC || $force) {
if(is_array($string)) {
foreach($string as $key => $val) {
$string[$key] = daddslashes($val, $force);
}
} else {
$string = addslashes($string);
}
}
return $string;
}function authcode($string, $operation, $key = '') { global $discuz_auth_key;
$key = md5($key ? $key : $discuz_auth_key);
$key_length = strlen($key); $string = $operation == 'DECODE' ? base64_decode($string) : substr(md5($string.$key), 0, 8).$string;
$string_length = strlen($string); $rndkey = $box = array();
$result = ''; for($i = 0; $i <= 255; $i++) {
$rndkey[$i] = ord($key[$i % $key_length]);
$box[$i] = $i;
} for($j = $i = 0; $i < 256; $i++) {
$j = ($j + $box[$i] + $rndkey[$i]) % 256;
$tmp = $box[$i];
$box[$i] = $box[$j];
$box[$j] = $tmp;
} for($a = $j = $i = 0; $i < $string_length; $i++) {
$a = ($a + 1) % 256;
$j = ($j + $box[$a]) % 256;
$tmp = $box[$a];
$box[$a] = $box[$j];
$box[$j] = $tmp;
$result .= chr(ord($string[$i]) ^ ($box[($box[$a] + $box[$j]) % 256]));
} if($operation == 'DECODE') {
if(substr($result, 0, 8) == substr(md5(substr($result, 8).$key), 0, 8)) {
return substr($result, 8);
} else {
return '';
}
} else {
return str_replace('=', '', base64_encode($result));
}
}function get_dzuserid()
{
global $dz_config;
$a = daddslashes(explode("\t", authcode($_COOKIE[$dz_config['dz_cookie_prefix'] . 'auth'], 'DECODE')), 1);
return (int)$a[2];
}
?>
还有楼上的,唉,不说了。
愿意帮忙的麻烦您诚心点
不愿意帮忙的请您飘过。
原来在CSDN找人帮忙是如此的牛X..
我帮你顶..