·设为首页收藏本站📧邮箱修改🎁免费下载专区📒收藏夹👽聊天室📱AI智能体
返回列表 发布新帖

IP封禁方式的改变

741 2
发表于 2020-7-6 08:47:29 | 查看全部 阅读模式

马上注册,免费下载更多dz插件网资源。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
现在IP地址封禁,不再使用 * 作为通配符,而是使用子网掩码(CIDR)的方式来指定要封禁的地址范围。

       IP封禁的配置,现在保存在pre_common_banned表中,每次用户访问的时候,都会触发检查。现在的检查效率较高,每次只会产生一个带索引的SQL查询(基于VARBINARY类型的大小比较)。对于一般的站点性能不会带来问题。另外可以启用Redis缓存,来进一步提高性能。另外还有一个配置项可关闭此功能,使用外部的防火墙等来进行IP封禁管理:
  1. $_config['security']['useipban'] = 1; // 是否开启允许/禁止IP功能,高负载站点可以将此功能疏解至HTTP Server/CDN/SLB/WAF上,降低服务器压力
复制代码
我要说一句 收起回复
一花一世界,一叶一追寻。一曲一场叹,一生为一人。

评论2

TyCodingLv.8 发表于 2020-7-6 08:48:28 | 查看全部
前排占楼!
我要说一句 收起回复
Discuz智能体Lv.8 发表于 2025-3-20 06:09:52 | 查看全部
在Discuz!中,IP封禁功能是一个重要的安全特性,用于阻止特定IP地址或IP地址范围的用户访问站点。根据你提供的信息,Discuz!已经对IP封禁的方式进行了改进,不再使用通配符`*`,而是采用了更精确的子网掩码(CIDR)方式来指定封禁的IP地址范围。

### 1. IP封禁的配置
IP封禁的配置信息现在保存在`pre_common_banned`表中。每次用户访问站点时,系统都会触发IP封禁检查。为了提高检查效率,Discuz!使用了带索引的SQL查询,并且基于`VARBINARY`类型的大小比较,这样可以有效减少数据库查询的开销。

### 2. 性能优化
对于一般的站点,这种检查方式不会对性能产生明显影响。但如果站点流量较大,或者IP封禁规则较多,可能会对数据库产生一定的压力。为了进一步优化性能,可以考虑以下两种方式:

- **启用Redis缓存**:通过启用Redis缓存,可以将IP封禁规则缓存到内存中,减少数据库查询的次数,从而提高性能。
  
- **关闭IP封禁功能**:如果站点已经使用了外部的防火墙、CDN、SLB(负载均衡器)或WAF(Web应用防火墙)来进行IP封禁管理,可以在Discuz!中关闭IP封禁功能,以降低服务器的压力。可以通过修改配置文件来实现:

  1. $_config['security']['ipban'] = 0; // 关闭IP封禁功能
复制代码


### 3. 使用CIDR格式封禁IP
CIDR(Classless Inter-Domain Routing)是一种用于指定IP地址范围的表示方法。例如,如果你想封禁`192.168.1.0`到`192.168.1.255`这个范围内的所有IP地址,可以使用`192.168.1.0/24`来表示。

在Discuz!中,你可以通过后台管理界面或直接操作数据库来添加CIDR格式的IP封禁规则。

### 4. 示例
假设你想封禁`192.168.1.0/24`这个IP段,你可以在Discuz!后台的“IP封禁”功能中添加如下规则:

  1. 192.168.1.0/24
复制代码


或者直接通过SQL语句插入到`pre_common_banned`表中:

  1. INSERT INTO pre_common_banned (ip1, ip2, admin, dateline, expiration)
  2. VALUES (INET_ATON('192.168.1.0'), INET_ATON('192.168.1.255'), 'admin', UNIX_TIMESTAMP(), 0);
复制代码


### 5. 注意事项
- **IP封禁规则的生效时间**:IP封禁规则在添加后会立即生效,但如果你启用了Redis缓存,可能需要手动清除缓存或等待缓存过期后规则才会生效。
  
- **外部防火墙的使用**:如果你选择使用外部防火墙或CDN来进行IP封禁管理,请确保这些工具的规则与Discuz!的规则保持一致,避免出现漏封或误封的情况。

### 6. 总结
通过使用CIDR格式的IP封禁规则,Discuz!可以更精确地控制IP封禁范围,并且通过优化数据库查询和使用Redis缓存,可以有效提升站点的性能。对于高负载站点,建议将IP封禁功能疏解至外部防火墙或CDN,以进一步降低服务器压力。

如果你有更多关于Discuz!的问题,欢迎随时提问!
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
我要说一句 收起回复

回复

 懒得打字嘛,点击右侧快捷回复【查看最新发布】   【应用商城享更多资源】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

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

AI智能体
投诉/建议联系

discuzaddons@vip.qq.com

未经授权禁止转载,复制和建立镜像,
如有违反,按照公告处理!!!
  • 联系QQ客服
  • 添加微信客服

联系DZ插件网微信客服|最近更新|Archiver|手机版|小黑屋|DZ插件网! ( 鄂ICP备20010621号-1 )|网站地图 知道创宇云防御

您的IP:3.139.64.39,GMT+8, 2025-4-5 23:06 , Processed in 0.269850 second(s), 82 queries , Gzip On, Redis On.

Powered by Discuz! X5.0 Licensed

© 2001-2025 Discuz! Team.

关灯 在本版发帖
扫一扫添加微信客服
QQ客服返回顶部
快速回复 返回顶部 返回列表