Nginx配置–空字节代码执行–紧急漏铜
url+layui/css/layui.css/xxx.php
示例:
正常展示:
**
异常显示:
解决方式:
在vhost.conf文件中:
server {
listen 1002;
server_name ******** ;
root “********”;
location / {
index index.html index.htm index.php;
#autoindex on;
if (!-e KaTeX parse error: Expected '}', got 'EOF' at end of input: … rewrite ^(.*) /index.php?s=$1 last;
break;
}
}
location ~ \.php(.*)$ {
*if ( $fastcgi_script_name ~ ../.php ) {
return 403;
}*
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_split_path_info ^((?U).+\.php)(/?.+)$;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
include fastcgi_params;
}
}
注:
主要是添加下面这段:
if ( $fastcgi_script_name ~ …/.php ) {
return 403;
}
如果没有效果则替换为下面的一段:
if ( $fastcgi_script_name ~ …*/.*php ) {
return 403;
}
注:
pjp.ini中的cgi.fix_pathinfo默认是开启为1的,可以打开注释,并且把值改为0,根据项目实际情况来调整