迅睿CMS框架是一款PHP8高性能·简单易用的CMS开源开发框架,基于MIT开源许可协议发布,免费且不限制商业使用,是免费开源的产品,以万端互联为设计理念,支持的微信公众号、小程序、APP客户端、移动端网站、PC网站等多终端式管理系统。
联系官方销售客服
1835022288
028-61286886
最新版本(4.3.13)在后台添加用户的时候一直提示"账号名不允许注册"。请问大家有这个问题吗?
后台用户设置这都是默认设置:
迅睿框架技术-景攸 感谢回复,自己排查了一下,发现/dayrui/Fcms/Library/Form.php存在一处bug:
public function check_username($value) { exong_test(0,$value,\Phpcmf\Service::C()->member_cache['register'],\Phpcmf\Service::C()->member_cache['register']['notallow']); if (!$value) { return dr_return_data(0, dr_lang('账号不能为空'), ['field' => 'username']); } elseif (\Phpcmf\Service::C()->member_cache['register']['preg'] && !preg_match(\Phpcmf\Service::C()->member_cache['register']['preg'], $value)) { return dr_return_data(0, dr_lang('账号格式不正确'), ['field' => 'username']); } elseif (strpos($value, '"') !== false || strpos($value, '\'') !== false) { return dr_return_data(0, dr_lang('账号名存在非法字符'), ['field' => 'username']); } elseif (\Phpcmf\Service::C()->member_cache['config']['userlen'] && mb_strlen($value) < \Phpcmf\Service::C()->member_cache['config']['userlen']) { return dr_return_data(0, dr_lang('账号长度不能小于%s位,当前%s位', \Phpcmf\Service::C()->member_cache['config']['userlen'], mb_strlen($value)), ['field' => 'username']); } elseif (\Phpcmf\Service::C()->member_cache['register']['notallow']) { // 放在最后一次比较 foreach (\Phpcmf\Service::C()->member_cache['register']['notallow'] as $a) { if (strpos($value, $a) !== false) { return dr_return_data(0, dr_lang('账号名不允许注册'), ['field' => 'username']); } } } return dr_return_data(1, 'ok'); }
其中的
} elseif (\Phpcmf\Service::C()->member_cache['register']['notallow']) {
一直为true。
说明如下:
查看数据库发现member_cache['register']['notallow']默认为[""],在php8里,if([""])一直为true,所以这里不管怎么设置都会进入下面的判断体,导致在后台增加用户名时,如果没有设置禁止注册的用户名,会一直提示“账号名不允许注册”。请老大修复一下。
最近服务器更新了php8,感觉迅睿框架在php8的兼容性上还有很多的小bug,还是希望老大能仔细排查一下程序,避免因为这些小毛病影响了咱们迅睿框架的感知。辛苦了。
迅睿框架技术-景攸 感谢回复,自己排查了一下,发现/dayrui/Fcms/Library/Form.php存在一处bug:
其中的
一直为true。
说明如下:
查看数据库发现member_cache['register']['notallow']默认为[""],在php8里,if([""])一直为true,所以这里不管怎么设置都会进入下面的判断体,导致在后台增加用户名时,如果没有设置禁止注册的用户名,会一直提示“账号名不允许注册”。请老大修复一下。
最近服务器更新了php8,感觉迅睿框架在php8的兼容性上还有很多的小bug,还是希望老大能仔细排查一下程序,避免因为这些小毛病影响了咱们迅睿框架的感知。辛苦了。