开启左侧

[DISCUZ!] x2签名长度限制无效的问题分析及改进方法

[复制链接]
发表于 2012-3-23 23:50:25 | 显示全部楼层 |阅读模式
问题表现:
后台设置的签名文字最大长度无效,导致被人在签名里挂广告。

原因分析:
出现这个问题的原因是由于官方QQ互联里内置了微博签名的功能,因为使用微博签名的话会导致签名长度设置无效。

具体代码分析:
找到source\plugin\qqconnect\connect.class.php文件
  1. if(submitcheck('profilesubmit')) {
  2. $_G['group']['maxsigsize'] = $_G['group']['maxsigsize'] < 200 ? 200 : $_G['group']['maxsigsize'];
  3. return;
  4. }
  5. 复制代码
复制代码
其中的$_G['group']['maxsigsize']即为后台设置的签名最大长度,此处可知如果此值小于200,则置为200字节。
此处更改了最大长度的默认值,从而导致后台设置的此用户组的签名最大长度无效。

下面给出改进方法:
在source\plugin\qqconnect\connect.class.php文件里,搜索代码:
  1. if(submitcheck('profilesubmit')) {
  2. $_G['group']['maxsigsize'] = $_G['group']['maxsigsize'] < 200 ? 200 : $_G['group']['maxsigsize'];
  3. return;
  4. }
  5. 复制代码
复制代码
注释掉这段代码。

同时搜索代码:
  1. if($result['status'] == 0) {
  2. $js = 'a.onclick = function () { seditor_insertunit(\'sightml\', \'[wb='.$result['result']['username'].']'.$result['result']['signature_url'].'[/wb]\'); };';
  3. } else {
  4. $js = 'a.onclick = function () { showDialog(\''.lang('plugin/qqconnect', 'connect_wbsign_no_account').'\'); };';
  5. }
  6. 复制代码
复制代码
改为下面的代码:
  1. if($_G['group']['maxsigsize'] > 200){
  2. if($result['status'] == 0) {
  3. $js = 'a.onclick = function () { seditor_insertunit(\'sightml\', \'[wb='.$result['result']['username'].']'.$result['result']['signature_url'].'[/wb]\'); };';
  4. } else {
  5. $js = 'a.onclick = function () { showDialog(\''.lang('plugin/qqconnect', 'connect_wbsign_no_account').'\'); };';
  6. }
  7. }else{
  8. $js = 'a.onclick = function () { showDialog(\''.'您所在用户组的签名长度不够使用微博签名,点击查看<a href="home.php?mod=spacecp&ac=usergroup">当前用户组的签名长度</a>'.'\'); };';
  9. }
  10. 复制代码
复制代码
平度网:www.pingdu.co 平度论坛:bbs.pingdu.co
发表于 2012-3-23 23:50:29 | 显示全部楼层
非常好 学习了
平度网:www.pingdu.co 平度论坛:bbs.pingdu.co
发表于 2012-3-23 23:50:33 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
平度网:www.pingdu.co 平度论坛:bbs.pingdu.co
发表于 2012-3-23 23:50:38 | 显示全部楼层
前排占位。支持一下。
平度网:www.pingdu.co 平度论坛:bbs.pingdu.co
 楼主| 发表于 2012-3-23 23:50:42 | 显示全部楼层
占位
平度网:www.pingdu.co 平度论坛:bbs.pingdu.co
发表于 2012-3-23 23:50:47 | 显示全部楼层
看看
平度网:www.pingdu.co 平度论坛:bbs.pingdu.co
发表于 2012-3-23 23:50:53 | 显示全部楼层
来学习了解一下
平度网:www.pingdu.co 平度论坛:bbs.pingdu.co
发表于 2012-3-23 23:50:58 | 显示全部楼层
支持了
平度网:www.pingdu.co 平度论坛:bbs.pingdu.co
发表于 2012-3-23 23:51:02 | 显示全部楼层
了解...到
平度网:www.pingdu.co 平度论坛:bbs.pingdu.co
发表于 2012-3-23 23:51:06 | 显示全部楼层
记号 。
平度网:www.pingdu.co 平度论坛:bbs.pingdu.co
您需要登录后才可以回帖 登录 | 会员注册

本版积分规则

 
QQ在线咨询
售前咨询热线
0532-88371356
售后服务微信
pingduwangzhan
快速回复 返回顶部 返回列表