商务合作加微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分钟,每日学习一点点,每日进步一点点。
|