Discuz_X3.4注册会员含“衡”、“欣”字时用户名包含敏感字...

[复制链接]
站长帮 社区微信达人手机认证 官方团队 文案作者 发表于 2019-3-10 21:15:31 | 显示全部楼层 |阅读模式
Discuz_X3.4注册会员发现BUG,含“衡”、“欣”字无法注册,并提示用户名包含敏感字符或被系统屏蔽,解决方法如下:
1、在uc_client/model/user.php和uc_server/model/user.php文件中(第41-49行)找到以下代码:
  1. <font face="monospace, monospace">function check_username($username) {</font>
  2. $guestexp = '\xA1\xA1|\xAC\xA3|^Guest|^\xD3\xCE\xBF\xCD|\xB9\x43\xAB\xC8';
  3. $len = $this->dstrlen($username);
  4. if($len > 15 || $len < 3 || preg_match("/\s+|^c:\\con\\con|[%,\*"\s\<\>\&]|$guestexp/is", $username)) {
  5. return FALSE;
  6. } else {
  7. return TRUE;
  8. }
  9. }
复制代码

2、将上述代码修改为:
  1. <font face="monospace, monospace">function check_username($username) {</font>
  2. $guestexp = '^Guest|^\xD3\xCE\xBF\xCD|\xB9\x43\xAB\xC8';
  3. $len = $this->dstrlen($username);
  4. if($len > 15 || $len < 3 || preg_match("/\s+|^c:\\con\\con|[%,\*"\s\<\>\&]|$guestexp/is", $username)) {
  5. return FALSE;
  6. } else {
  7. return TRUE;
  8. }
  9. }
复制代码

3、这样就成功解决Discuz_X3.4含“衡”、“欣”字无法注册,并提示用户名包含敏感字符或被系统屏蔽问题啦。
相关内容详解:
过滤代码:
  1. $guestexp = '\xA1\xA1|\xAC\xA3|^Guest|^\xD3\xCE\xBF\xCD|\xB9\x43\xAB\xC8';
复制代码

“欣”汉字的utf8编码是:
  1. 0xE60xAC0xA3
复制代码

被当成了被屏蔽的字符,\xA1\xA1衡 \xAC\xA3欣,所以删掉\xA1\xA1|\xAC\xA3|就可以了。
欢迎访问[color=Red]站长帮[/color],记住我们的域名[color=Red]www.yunxunwl.com[/color]
版权申明:此文如未标注转载均为本站原创,自由转载请注明 本贴地址:https://www.yunxunwl.com/content-1707-1-1.html 上篇帖子: discuz插件操作数据库实例 下篇帖子: Discuz!写入数据库 注册 会员 时用 用户 用户名
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册   

本版积分规则

关闭

站长推荐上一条 /1 下一条

智新云网络成立于2012年,我们是一家专注用户体验设计开发与互联网品牌建设的设计公司,创立至今为2000多位客户提供了创新与专业的设计方案。设计服务范围包括:交互原型设计、产品视觉设计、网站设计与开发建设、移动及软件产品界面设计、图标设计、品牌及平面设计等。

联系我们

成都市锦江区一环路东五段108号2-1幢3层304号

028-83517134(服务时间:9:00-18:00)

admin@yunxunwl.com

在线咨询 新浪微博新浪微博 官方微信官方微信

产品和服务

网站建设
官方商城
小程序
分销商城
应用市场

快速回复 返回顶部 返回列表