Discuz X2中QQ互联(QQ登录)注册时强制设置输入密码的修改方案

Posted on 2011/07/25 by zcc Discuz X2推出了云平台,也正式开放了令人心动的QQ互联(QQ登录)。但是当你兴奋积极地开启了QQ互联功能时,你是否有意识到你正在一步步走向腾讯和康盛联合设下的陷阱呢?

直接开门见山:

QQ互联与腾讯开放平台的QQ登录是有区别的
QQ互联的注册环节没有密码设定
绝大部分通过QQ互联注册的用户是不会再去设定他的密码的
很大一部分绑定QQ账号的用户(设定了密码的),也可能已经忘记了它的密码
最关键的是作为站长的你,剥离QQ的情况喜爱,无法来保证大部分用户都能正常登录
太恐怖了!
但是这个功能不用,也是怪可惜了。大部分用户是不清楚这些危害的,你公司的老板也可能不清楚。所以只需要稍微改下代码,稍微减弱些用户体验,你就能保证用户资料的独立性——在QQ互联注册环节强制要求用户设定密码。
操作:
1. 打开文件source/plugin/qqconnect/template/module.htm
(1) 查找
$(‘{$_G[‘setting’][‘reginput’][‘password’]}’).parentNode.parentNode.parentNode.parentNode.parentNode.style.display = ‘none’;
$(‘{$_G[‘setting’][‘reginput’][‘password’]}’).outerHTML += ‘$js1’;
$(‘{$_G[‘setting’][‘reginput’][‘password’]}’).required = 0;
$(‘{$_G[‘setting’][‘reginput’][‘password2′]}’).parentNode.parentNode.parentNode.parentNode.parentNode.style.display = ‘none’;
$(‘{$_G[‘setting’][‘reginput’][‘password2′]}’).required = 0;

修改成
//$(‘{$_G[‘setting’][‘reginput’][‘password’]}’).parentNode.parentNode.parentNode.parentNode.parentNode.style.display = ‘none’;
$(‘{$_G[‘setting’][‘reginput’][‘username’]}’).outerHTML += ‘$js1’;
$(‘{$_G[‘setting’][‘reginput’][‘password’]}’).required = 1;
//$(‘{$_G[‘setting’][‘reginput’][‘password2′]}’).parentNode.parentNode.parentNode.parentNode.parentNode.style.display = ‘none’;
$(‘{$_G[‘setting’][‘reginput’][‘password2′]}’).required = 1;

2 打开文件 source/module/member/member_connect.php
查找
$ctl_obj->setting[‘ignorepassword’] = 1;
将它注释掉,或者删除
3 打开文件 source/module/member/member_register.php
查找
DB::query(“INSERT INTO “.DB::table(‘common_member_connect’).” (uid, conuin, conuinsecret, conopenid, conispublishfeed, conispublisht, conisregister, conisqzoneavatar, conisfeed) VALUES (‘$uid’, ‘$conuin’, ‘$conuinsecret’, ‘$conopenid’, ‘$conispublishfeed’, ‘$conispublisht’, ‘1’, ‘$is_qzone_avatar’, ‘$user_auth_fields’)”);

修改成
DB::query(“INSERT INTO “.DB::table(‘common_member_connect’).” (uid, conuin, conuinsecret, conopenid, conispublishfeed, conispublisht, conisregister, conisqzoneavatar, conisfeed) VALUES (‘$uid’, ‘$conuin’, ‘$conuinsecret’, ‘$conopenid’, ‘$conispublishfeed’, ‘$conispublisht’, ‘0’, ‘$is_qzone_avatar’, ‘$user_auth_fields’)”);