腾讯云网站解决方案帮您轻松应对建站成本高/网络不稳等常见问题

discuz论坛“用户名包含敏感字符”不能注册的解决办法

1
回复
1065
查看
[复制链接]

2

主题

6

帖子

36

积分

1°伸手党

Rank: 2

积分
36
发表于 19-8-24 10:48:05 | 显示全部楼层 |阅读模式         
  前两天把DZ论坛从GBK版成功转换到UTF8版,使用UCenter整合DEDECMS5.5成功,今天注册一个用户的时候发现一个小问题,使用超过6个汉字的用户名无法注册,提示“用户名包含敏感字符”。使用discuz的人应该都知道,用户名注册的时候会遇到“用户名包含敏感字符或被系统屏蔽,请返回重新填写”这样的问题,造成这样的问题原因有两个,一个就是如提示所说,遇到敏感字符被屏蔽,但我的DZ后台并未设置注册敏感字限制,而且直接在UCenter添加6个汉字的用户名也无法添加,所以不存在第一种情况,那么说明今天遇到了另外一个情况:因为用户名长度超过限制造成屏蔽,下面以我使用的Discuz7.0+Ucenter1.5+UCHOME+DEDECMS5.5全部为UTF8版说说解决办法:
; [& }4 f7 T  ]% `+ U# r, g% _) z
  • 修改程序文件:  找到下面三个文件,Ucenter下model文件夹中user.php、Discuz下uc_client/model文件夹中user.php、DEDECMS下uc_client/model文件夹中user.php,使用文本编辑工具打开,找到以“if($len”开头的验证用户名长度和是否含有敏感字符的代码,Ucenter、Discuz和DEDECMS5中是if($len > 15 || $len < 3,就是用户名不大于15不小于3,UCHOME中是if($len > 10 || $len < 3,用户名不小于3不大于10,将这些数字改成您需要的数字,我设置的是不大于20不小于3(也就是说UTF8版下注册用户名不超过6个汉字)。
    8 Q2 s2 x' c1 I; A" J* A/ z  注意:这个设置的值是英文字符长度,如果是utf版,每中文字符占用3,gbk版每字符占用2。7 o/ U0 G4 \' i* K- v" Z) C
  • 修改数据库:  将Discuz、Ucenter、UCHOME三个的数据库member数据表[Username]字段的长度修改为上面设置的数字,如20,DEDECMS不需要设置,默认就是20.4 x) k: M* R/ s' @
    # U% z8 H' W2 G, d; U
  现在再去提交,就可以发现已经可以提交超过5个中文(UTF版)或7个中文(GBK版)字符长度的用户名了。, @' ]1 [5 m6 v, q7 F8 }( M$ N

1

主题

5

帖子

22

积分

1°伸手党

Rank: 2

积分
22
发表于 19-9-20 09:05:54 | 显示全部楼层         
没看完~~~~~~ 先顶,好同志
回复

使用道具 举报

网站简介

球球发,是一家 Discuz! 商业插件、风格模板、网站源码、 Discuz!运营维护技术等于一体的交流分享网站,全站95%的资源都是免费下载,对于资源我们是每天更新,每个亲测资源最新最全---球球发(如果我们有侵犯了您权益的资源请联系我们删除