0

0

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

蓮花仙者

蓮花仙者

发布时间:2026-01-11 21:03:08

|

449人浏览过

|

来源于php中文网

原创

需在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之外)。

立即学习PHP免费学习笔记(深入)”;

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

ImgCreator AI
ImgCreator AI

一款AI图像生成工具,适合创建插图、动画和概念设计图像。

下载

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文件步骤:1、选择文本编辑器;2、在选择的文本编辑器中,创建一个新的文件,并将其保存为.php文件;3、在创建的PHP文件中,编写PHP代码;4、要在本地计算机上运行PHP文件,需要设置一个服务器环境;5、安装服务器环境后,需要将PHP文件放入服务器目录中;6、一旦将PHP文件放入服务器目录中,就可以通过浏览器来运行它。

2402

2023.09.01

php怎么取出数组的前几个元素
php怎么取出数组的前几个元素

取出php数组的前几个元素的方法有使用array_slice()函数、使用array_splice()函数、使用循环遍历、使用array_slice()函数和array_values()函数等。本专题为大家提供php数组相关的文章、下载、课程内容,供大家免费下载体验。

1547

2023.10.11

php反序列化失败怎么办
php反序列化失败怎么办

php反序列化失败的解决办法检查序列化数据。检查类定义、检查错误日志、更新PHP版本和应用安全措施等。本专题为大家提供php反序列化相关的文章、下载、课程内容,供大家免费下载体验。

1444

2023.10.11

php怎么连接mssql数据库
php怎么连接mssql数据库

连接方法:1、通过mssql_系列函数;2、通过sqlsrv_系列函数;3、通过odbc方式连接;4、通过PDO方式;5、通过COM方式连接。想了解php怎么连接mssql数据库的详细内容,可以访问下面的文章。

951

2023.10.23

php连接mssql数据库的方法
php连接mssql数据库的方法

php连接mssql数据库的方法有使用PHP的MSSQL扩展、使用PDO等。想了解更多php连接mssql数据库相关内容,可以阅读本专题下面的文章。

1414

2023.10.23

html怎么上传
html怎么上传

html通过使用HTML表单、JavaScript和PHP上传。更多关于html的问题详细请看本专题下面的文章。php中文网欢迎大家前来学习。

1233

2023.11.03

PHP出现乱码怎么解决
PHP出现乱码怎么解决

PHP出现乱码可以通过修改PHP文件头部的字符编码设置、检查PHP文件的编码格式、检查数据库连接设置和检查HTML页面的字符编码设置来解决。更多关于php乱码的问题详情请看本专题下面的文章。php中文网欢迎大家前来学习。

1445

2023.11.09

php文件怎么在手机上打开
php文件怎么在手机上打开

php文件在手机上打开需要在手机上搭建一个能够运行php的服务器环境,并将php文件上传到服务器上。再在手机上的浏览器中输入服务器的IP地址或域名,加上php文件的路径,即可打开php文件并查看其内容。更多关于php相关问题,详情请看本专题下面的文章。php中文网欢迎大家前来学习。

1305

2023.11.13

c++主流开发框架汇总
c++主流开发框架汇总

本专题整合了c++开发框架推荐,阅读专题下面的文章了解更多详细内容。

80

2026.01.09

热门下载

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

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PHP课程
PHP课程

共137课时 | 8.5万人学习

JavaScript ES5基础线上课程教学
JavaScript ES5基础线上课程教学

共6课时 | 6.9万人学习

PHP新手语法线上课程教学
PHP新手语法线上课程教学

共13课时 | 0.8万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号