大张小站

  1. @八角石

    欢迎关注我的新浪微博 @八角石 !

    [ 更多详情 ]

  2. 人生

    自歌自舞自开怀,且喜无拘无碍。

  3. 心境

    若得心净如明月,长空万里了无尘。

  4. 情渊

    他生莫做有情痴,人间无地著相思。

  • 1
  • 2
  • 3
  • 4
2,076

UCenter Home 登录时验证该帐号在论坛中的状态

分类 网站技术/村民张先生 发布于 2014-05-06 17:03
0

UCHOME自身的防灌水机制较差,很容易被灌水机轰炸。如果你的UCHOME有关联论坛,可以设置用户在登录UCHOME时验证该用户在论坛中的状态,处于某些用户组(例如禁言组、低等级组)时禁止登录。

以下方法来自 discuz.net 用户 dzhope ,特此感谢!

第一步:禁止论坛的某些会员组登陆家园。在 source/function_common.php 中查找 $passport['email'] = $ucresult[3]; ,在下方增加:

//获取用户在论坛的用户组情况。
$group_arr = array('4', '5', '8', '19', '20', '27', '35');//禁止登录空间的论坛用户组
$dbhost1 = 'localhost';//数据库服务器
$dbuser1 = '论坛数据库用户名';//数据库用户名
$dbpw1 = '论坛数据库密码';//数据库密码
$dbname1 = '论坛数据库名';//数据库名
$server_link1=@mysql_connect($dbhost1,$dbuser1,$dbpw1) or die ("无法连接社区数据库,用户鉴权失败。");
$db_link1=@mysql_select_db($dbname1,$server_link1) or die ("无法连接社区数据库,用户鉴权失败。");
$user_array=mysql_fetch_array(mysql_query("SELECT groupid FROM cdb_members WHERE uid='".$passport['uid']."'"));
$user_group=$user_array['groupid'];
if(in_array($user_group,$group_arr)){
die("<meta http-equiv=refresh content=0;url=受限用户转向网址>");
exit();
}
//结束

第二步:在 api/uc.php 中查找 $space = insertsession($member); ,下面增加:

//禁止论坛低等级用户组
$group_arr = array('4', '5', '8', '19', '20', '27', '35');//禁止登录空间的论坛用户组,与第一步中的保持一致
$dbhost1 = 'localhost';//数据库服务器
$dbuser1 = '论坛数据库用户名';//数据库用户名
$dbpw1 = '论坛数据库密码';//数据库密码
$dbname1 = '论坛数据库名';//数据库名
$server_link1=@mysql_connect($dbhost1,$dbuser1,$dbpw1) or die ("无法连接社区数据库,用户鉴权失败。");
$db_link1=@mysql_select_db($dbname1,$server_link1) or die ("无法连接社区数据库,用户鉴权失败。");
$user_array=mysql_fetch_array(mysql_query("SELECT groupid FROM cdb_members WHERE uid='".$passport['uid']."'"));
$user_group=$user_array['groupid'];
if(in_array($user_group,$group_arr)){
die("<meta http-equiv=refresh content=0;url=受限用户转向网址>");
exit();
}
//禁止论坛低等级用户组代码结束

欢迎转载分享,转载请注明 来源:大张小站 https://www.vdazhang.com/wenzhang-256.html
若您喜欢这篇文章,欢迎订阅大张小站以获得最新内容。 / 欢迎交流探讨,请发电子邮件至 mail[at]vdazhang.com 。


欢迎谈谈你的看法(无须登录) *正文中请勿包含"http://"否则将被拦截