宝塔PHP8.4如何限制IP访问_给PHP8.4站点设IP白名单操作【教程】

夏强吖_4835

夏强吖_4835

2026-01-11

509人浏览

原创

需在Web服务器层配置IP白名单:Nginx环境修改配置文件添加allow/deny指令;Apache环境通过.htaccess使用Require ip;PHP层可在index.php顶部添加IP校验逻辑。

宝塔php8.4如何限制ip访问_给php8.4站点设ip白名单操作【教程】

如果您正在使用宝塔面板部署的PHP 8.4站点,希望仅允许特定IP地址访问该站点,防止未授权用户请求或恶意扫描,则需在Web服务器层配置IP白名单规则。以下是针对Nginx和Apache两种主流环境的具体操作步骤:

一、通过Nginx配置IP白名单(适用于宝塔默认Nginx环境)

此方法直接修改站点对应的Nginx配置文件,在server块中添加allow/deny指令,由Nginx在请求进入PHP前完成IP过滤,性能高效且无需PHP参与判断。

1、登录宝塔面板,进入【网站】页面,找到目标PHP 8.4站点,点击右侧【设置】按钮。

2、在弹出窗口中切换至【配置文件】选项卡,定位到location ~ \.php$区块上方空白处(或server区块内任意位置,但须在location之外)。

3、插入以下配置代码(示例仅允许192.168.1.100和203.203.203.0/24网段访问,其余全部拒绝):

allow 192.168.1.100;

allow 203.203.203.0/24;

deny all;

4、点击右上角【保存】按钮,随后点击【重载配置】使规则生效。

二、通过.htaccess文件配置IP白名单(仅限Apache环境)

此方法适用于宝塔中已切换为Apache作为Web服务器的站点,利用Apache内置的mod_authz_host模块实现访问控制,配置灵活且无需重启服务。

1、在站点根目录(如/www/wwwroot/your-site.com/)下找到或新建名为.htaccess的文件。

2、用文本编辑器打开该文件,确保首行包含启用重写引擎的指令(若不存在则添加):

RewriteEngine On

3、在文件末尾添加如下白名单规则(示例允许10.0.0.5和172.16.0.0/16):

Require ip 10.0.0.5

Nginx Reverse Proxy
Nginx Reverse Proxy

配置 Nginx 反向代理,实现域名绑定。用户说“绑定域名”“配置 Nginx”“反向代理”时触发,将域名绑定到指定 IP:端口。

下载

Require ip 172.16.0.0/16

4、保存文件,返回宝塔面板【网站】页,对该站点点击【重载Apache】。

三、通过PHP代码层实现IP白名单(兼容Nginx与Apache)

此方法在PHP 8.4应用入口文件(如index.php)顶部注入IP校验逻辑,适用于需动态判断或结合数据库查询白名单的场景,但会略微增加PHP执行开销。

1、打开站点主入口PHP文件(通常为/www/wwwroot/your-site.com/index.php)。

2、在

$allowed_ips = ['112.80.123.45', '221.204.67.0/24'];

$client_ip = $_SERVER['REMOTE_ADDR'] ?? '';

function ip_in_range($ip, $range) { if (strpos($range, '/') !== false) { list($subnet, $bits) = explode('/', $range); $ip_long = ip2long($ip); $subnet_long = ip2long($subnet); $mask = -1

if (!in_array($client_ip, $allowed_ips) && !array_reduce($allowed_ips, function($carry, $r) use ($client_ip) { return $carry || ip_in_range($client_ip, $r); }, false)) { http_response_code(403); exit('Forbidden'); }

四、通过宝塔防火墙插件配置IP白名单

若已安装并启用宝塔官方【防火墙】插件(专业版功能),可借助图形化界面快速添加IP白名单规则,避免手动编辑配置文件,降低误操作风险。

1、进入宝塔面板左侧菜单【安全】→【防火墙】,确认插件状态为“已启用”。

2、在【IP黑名单/白名单】区域,点击【添加白名单】按钮。

3、在弹出框中输入单个IP地址(如198.51.100.25)或CIDR格式网段(如192.0.2.0/24),填写备注后点击【确定】。

4、规则自动生效,无需重启Web服务,可在【当前规则】列表中查看状态。

php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!

相关文章

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
nginx 重启
nginx 重启

nginx重启对于网站的运维来说是非常重要的,根据不同的需求,可以选择简单重启、平滑重启或定时重启等方式。本专题为大家提供nginx重启的相关的文章、下载、课程内容,供大家免费下载体验。

2023.07.27

423

5

nginx 配置详解
nginx 配置详解

Nginx的配置是指设置和调整Nginx服务器的行为和功能的过程。通过配置文件,可以定义虚拟主机、HTTP请求处理、反向代理、缓存和负载均衡等功能。Nginx的配置语法简洁而强大,允许管理员根据自己的需要进行灵活的调整。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.08.04

4247

6

nginx配置详解
nginx配置详解

NGINX与其他服务类似,因为它具有以特定格式编写的基于文本的配置文件。本专题为大家提供nginx配置相关的文章,大家可以免费学习。

2023.08.04

7165

6

tomcat和nginx有哪些区别
tomcat和nginx有哪些区别

tomcat和nginx的区别:1、应用领域;2、性能;3、功能;4、配置;5、安全性;6、扩展性;7、部署复杂性;8、社区支持;9、成本;10、日志管理。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.02.23

601

5

nginx报404怎么解决
nginx报404怎么解决

当访问 nginx 网页服务器时遇到 404 错误,表明服务器无法找到请求资源,可以通过以下步骤解决:1. 检查文件是否存在且路径正确;2. 检查文件权限并更改为 644 或 755;3. 检查 nginx 配置,确保根目录设置正确、没有冲突配置等等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.07.09

1516

5

Nginx报404错误解决方法
Nginx报404错误解决方法

解决方法:只需要加上这段配置:try_files $uri $uri/ /index.html;即可。想了解更多Nginx的相关内容,可以阅读本专题下面的文章。

2024.08.07

3998

3

nginx部署php项目教程汇总
nginx部署php项目教程汇总

本专题整合了nginx部署php项目教程汇总,阅读专题下面的文章了解更多详细内容。

2026.01.13

122

12

nginx配置文件详细教程
nginx配置文件详细教程

本专题整合了nginx配置文件相关教程详细汇总,阅读专题下面的文章了解更多详细内容。

2026.01.13

597

23

Nginx跨平台安装实操指南:Windows、macOS与Linux环境快速搭建
Nginx跨平台安装实操指南:Windows、macOS与Linux环境快速搭建

本指南详解Nginx在Windows、macOS及Linux系统的安装全流程。涵盖官方包解压、Homebrew一键部署、APT/YUM源配置及Docker容器化方案。无论新手或开发者,均可快速搭建运行环境,掌握跨平台核心指令,为后续配置与调优奠定坚实基础。

2026.03.16

179

12

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
墨刀帮助中心
墨刀帮助中心

共0课时 | 0人学习

MyEclipse学习中心
MyEclipse学习中心

共0课时 | 0人学习

Apache Subversion 官方手册
Apache Subversion 官方手册

共0课时 | 0人学习