方法
代码如下 | 复制代码 |
location~^/images/.*.(php|php5)$ { denyall; } location~^/static/.*.(php|php5)$ location~*^/data/(attachment|avatar)/.*.(php|php5)$ |
注:这些目录的限制必须写在
代码如下 | 复制代码 |
location~.*.(php|php5)$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; include fcgi.conf; } |
的前面,否则限制不生效!
path_info漏洞修正:
在通用fcgi.conf顶部加入
代码如下 | 复制代码 |
if ($request_filename ~* (.*).php) { set $php_url $1; } if (!-e $php_url.php) { return 404; } |
1、去除单个目录去掉PHP执行权限
代码如下 | 复制代码 |
location ~ /attachments/.*.(php|php5)?$ { deny all; } |
2、多个目录去掉PHP执行权限
代码如下 | 复制代码 |
location ~ /(attachments|upload)/.*.(php|php5)?$ { deny all; } |
如果你想在apache中限制执行php可参考
以设置APACHE的虚拟主机配置项,是使其不能执行PHP程序
如果用.htaccess来实现某个目录需要认证,则在apache的httpd.conf里设置:
代码如下 | 复制代码 |
<Directory /dir> Options Indexes FollowSymLinks AllowOverride AuthConfig order deny,allow </Directory> |
然后在需要认证的目录(如:dir)下建立.htaccess文件
时间: 2024-10-01 17:02:37