webman 插件 用户模块 的bug反馈

lokami

问题描述

ipv6环境下使用用户模块接口会提示 $key只能是字母和数字,
ipv4可以正常

程序代码或配置

/plugin/user/api/Limit.php 文件 第66行代码

if (!preg_match('/^[0-9a-zA-Z\-_.]+$/', $prefix)) {
    throw new RuntimeException('$key只能是字母和数字以及(-_.)的组合');
}

看了代码发现是IPv6的环境下获取的IP多了[:]符号,这些没有加入正则匹配环境中

重现问题的步骤

使用ipv6环境运行就会报错

360 1 0
1个回答

admin

还有我也要反应,workerman 的gatewayworker 生成clientId也是用的pack("N") 也就是gatewayworker仅支持4个字节的网络ipv4地址,gatewayworker不支持ipv6网络

  • 暂无评论
年代过于久远,无法发表回答
🔝