天涯论坛

 找回密码
 立即注册
搜索
查看: 17|回复: 2

Nginx 是怎么禁止拜访php的 ?

[复制链接]

3138

主题

3万

回帖

9996万

积分

论坛元老

Rank: 8Rank: 8

积分
99968624
发表于 2024-10-4 19:40:24 | 显示全部楼层 |阅读模式

商务合作加微X:2230304070 

学习与交流:PHP技术交流微X群 

查看:JetBrains整家长时间守护的个人账号 一次加入 永久运用

禁止拜访 PHP 脚本能够经过 Nginx 服务器配置中的多种方式来实现。以下是其中的有些平常办法,您能够按照实质需要选取合适的方式:1 禁用 PHP 解析:在 Nginx 配置中,保证 PHP 脚本没法被解析,从而禁止 PHP 执行。location ~ \.php$

 {

   deny

 all;

}

2 限制拜访路径:限制只准许拜访特定路径下的 PHP 脚本,其他路径禁止。location

 /public {

   准许拜访 /public 下的 HP 脚本   location ~ \.php$

 {

       fastcgi_pass

 unix:/var/run/php-fpm.sock;

       include

 fastcgi_params;

       fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name

;

   }

}

# 禁止拜访其他路径的 HP 脚本location ~ \.php$

 {

   deny

 all;

}

3 运用 HTTP Basic 认证:需求用户供给用户名和秘码拜访 PHP 脚本。location ~ \.php$

 {

   auth_basic "Restricted"

;

   auth_basic_user_file /etc/nginx/.htpasswd; # 使用 htpasswd 生成秘码文件   # ...

}

4 IP 位置拜访掌控限制仅有特定的 IP 位置能够拜访 PHP 脚本。location ~ \.php$

 {

   allow 192.168.1.1准许的 IP 位置   deny all; # 禁止其他 IP 位置   # ...

}

5 Referer 检测检测 HTTP Referer 头,只准许特定源自的请求。location ~ \.php$

 {

   valid_referers none blocked example.com; 准许的 Referer   if ($invalid_referer

) {

       return 403# 拒绝无效的 Referer

   }

   # ...

}

6 User-Agent 检测检测 User-Agent 头,只准许特定 User-Agent 拜访location ~ \.php$

 {

   if ($http_user_agent ~* (bad-agent|another-bad-agent))

 {

       return 403# 拒绝不良 User-Agent

   }

   # ...

}

7 URL 匹配:经过正则表达式匹配 URL,只准许特定 URL 拜访 PHP。location ~ \.php$

 {

   if ($request_uri ~* ^/allowed-path/)

 {

       准许的 URL 路径       # ...

   }

   return 403# 其他路径禁止

}

8 文件类型匹配:准许特定文件类型的 PHP 文件执行。location ~ \.php$

 {

   if ($request_filename ~* \.php$)

 {

       准许的文件类型       # ...

   }

   return 403# 禁止其他文件类型

}

9 设置文件权限:经过文件系统的权限设置,限制 PHP 脚本的拜访location ~ \.php$

 {

   # 设置文件的拜访权限为 600 或更高   # ...

}

10 利用 Nginx 的 map 模块:运用 Nginx 的 map 模块来按照要求禁止 PHP 拜访map $remote_addr $php_disabled

 {

    default 0

;

    192.168.1.1 0; 准许的 IP 位置    ~^192\.168\.2\. 1; 准许的 IP 位置范围

}

location ~ \.php$

 {

    if ($php_disabled

) {

        return 403# 禁止拜访

    }

    # ...

}

11 利用 Nginx 的 geo 模块:运用 Nginx 的 geo 模块按照地理位置禁止 PHP 拜访geo $allowed_country

 {

    default 0

;

    US 1准许的国家或地区    CA 1

;

}

location ~ \.php$

 {

    if ($allowed_country = 0

) {

        return 403# 禁止拜访

    }

    # ...

}

12 禁止特定 HTTP 办法限制仅有特定的 HTTP 办法能够拜访 PHP 脚本。location ~ \.php$

 {

    if ($request_method !~ ^(GET|POST)$)

 {

        return 403# 禁止其他办法

    }

    # ...

}

13 限制拜访时间:限制仅有在特按时间段内能够拜访 PHP 脚本。location ~ \.php$

 {

    if ($time_iso8601 !~ "T(08|09|10|11|12|13):")

 {

        return 403# 限制拜访时段

    }

    # ...

}

14 HTTP 拜访速率限制:限制拜访速率以减轻服务器负载。location ~ \.php$

 {

    limit_req zone=mylimit burst=5

 nodelay;

    limit_req_status 403

;

    # ...

}

15 运用 Nginx 内置变量:运用 Nginx 的内置变量结合要求语句来按照特定要求禁止 PHP 拜访location ~ \.php$

 {

    if ($http_cookie ~* "adminuser=")

 {

        return 403倘若包括特定 Cookie

    }

    # ...

}

重视以上办法能够单独运用或组合运用详细选取取决于您的安全需要和服务器配置。同期保证在配置中运用适当的测试和调试办法,以保证您的 Nginx 服务器根据预期运行。

JetBrains整家长时间守护的个人账号 一次加入 永久运用

参考链接:以上便是本篇分钟的所有内容,期盼各位程序员们奋斗提高个人技术。最后,博主温馨提示:每日阅读5分钟,每日学习一点点,每日进步一点点。





上一篇:技术达人谈PHP底层工作原理
下一篇:PHP验证身份证格式
回复

使用道具 举报

2986

主题

3万

回帖

9956万

积分

论坛元老

Rank: 8Rank: 8

积分
99569168
发表于 2024-10-17 23:50:44 | 显示全部楼层
楼主发的这篇帖子,我觉得非常有道理。
回复

使用道具 举报

2986

主题

3万

回帖

9956万

积分

论坛元老

Rank: 8Rank: 8

积分
99569168
发表于 2024-10-23 18:34:51 | 显示全部楼层
论坛的成果是显著的,但我们不能因为成绩而沾沾自喜。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

站点统计|Archiver|手机版|小黑屋|天涯论坛 ( 非经营性网站 )|网站地图

GMT+8, 2024-11-23 04:16 , Processed in 0.111663 second(s), 21 queries .

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.