discuz “欣” “衡” 用户不能注册 bug修改
2024-08-23 21:04:52
discuz “欣” “衡” 用户不能注册
原因是 discuz 有这样一段代码
function check_username($username) {
$guestexp = '\xA1\xA1|\xAC\xA3|^Guest|^\xD3\xCE\xBF\xCD|\xB9\x43\xAB\xC8';
if(preg_match("/\s+|^c:\\con\\con|[%,\*\"\s\<\>\&]|$guestexp/is", $username)) {
return FALSE;
} else {
return TRUE;
}
}
$guestexp = '\xA1\xA1|\xAC\xA3|^Guest|^\xD3\xCE\xBF\xCD|\xB9\x43\xAB\xC8';
会匹配 ,带有"欣","衡" 的用户名,因为
再utf-8 中 , "欣"编码为:\xE6\xAC\xA3, "衡"编码为:\xE8\xA1\xA1
bug修改:
$guestexp = '\xA1\xA1|\xAC\xA3|^Guest|^\xD3\xCE\xBF\xCD|\xB9\x43\xAB\xC8';
改为:
$guestexp = '(?<!\xE8)\xA1\xA1|(?<!\xE6)\xAC\xA3|^Guest|^\xD3\xCE\xBF\xCD|\xB9\x43\xAB\xC8';
这样既可以匹配带有 \xA1\xA1|\xAC\xA3 编码的utf-8 特殊字符,又不会匹配 "欣","衡"。
最新文章
- CSS3里的display
- C#Winfrom系统打印机调用/设置默认打印机
- KASS分布式文件系统(Kass File System)
- 利用IE/FF的不同识别CSS来使用浏览器兼容问题
- BZOJ 1083 [SCOI2005]繁忙的都市
- PHP中的魔术方法总结 :__construct, __destruct , __call, __callStatic,__get, __set, __isset, __unset , __sleep, __wakeup, __toStr
- beanUtils操作bean的属性
- java中的重载与重写
- SQLite 附加数据库(http://www.w3cschool.cc/sqlite/sqlite-attach-database.html)
- GPU渲染流水线的简单概括
- 超详细的PDF Expert的注释功能介绍
- sping配置头文件
- php 配置xdebug
- Android 获取SD路径,存储空间大小的方法
- 冲刺NOIP复习,算法知识点总结
- Convert BST to Greater Tree
- maya中MFnMesh.h使用说明的翻译
- centos6编译安装mysql5.5
- POJ 1751 Highways 【最小生成树 Kruskal】
- epoll的两种工作模式
热门文章
- Dll中的方法向外返回dynamic类型可能会失败
- c#动态类型Dynamic
- eclipse中导入maven项目:org.apache.maven.archiver.MavenArchiver.getManifest(org.apache.maven.proje
- 【ng-zorro-antd】加入in-memory-web-api插件后icon不显示
- Restrictions.like(";字段field";,";%表达式exp%";);
- lucene7.1.0实现搜索文件内容
- PY简易爬虫
- 博弈论题目总结(二)——SG组合游戏及变形
- 自动装箱拆箱(Autoboxing,Unboxing)
- Linux思维导图之inode、mv、cp和硬软链接