您的位置 首页 服务器

iis、apache与nginx禁止目录执行asp、php脚本的实现方法

为了网站安全,很多图片上传目录等不需要执行脚本的目录我们可以通过下面的方法禁止执行脚本。

  • 教程正文

一般iis中比较简单,iis6如下图所示即可:

很多购买虚拟主机空间的用户,如果空间商提供了在线管理程序,也可以实现。具体的看下帮助即可。
需要知道目录名称,设置即可。

iis7+禁止执行php等
IIS7也类似于IIS6.0,选择站点对应的目录,data、uploads及静态html文件目录,双击功能试图面板中的“处理程序映射”(如图2)

在“编辑功能权限……”中,我们直接去除脚本的执行权限即可。(如图3)

apache中一般是通过.htaccess文件来限制
Apache环境规则内容如下:Apache执行php脚本限制 把这些规则添加到.htaccess文件中

RewriteEngine on RewriteCond % !^$

RewriteRule uploads/(.*).(php)$ � [F]

RewriteRule data/(.*).(php)$ � [F]

RewriteRule templets/(.*).(php)$ �[F]

以Apache 模块方式运行 PHP,你可以在vhosts配置文件中添加如下代码:

禁止upload目录执行php文件权限

<Directory /www/www.jb51.net/upload>
php_flag engine off
</Directory>
<Directory ~ "^/www/.*/upload">
 <Files ~ ".php">
 Order allow,deny
 Deny from all
 </Files>
</Directory>

nginx环境规则内容如下:nginx执行php脚本限制

LNMP有一个缺点就是目录权限设置上不如Apache,有时候网站程序存在上传漏洞或类似pathinfo的漏洞从而导致被上传了php木马,而给网站和服务器带来比较大危险。建议将网站目录的PHP权限去掉,当访问上传目录下的php文件时就会返回403错误。

首先要编辑nginx的虚拟主机配置,在fastcgi的location语句的前面按下面的内容添加:

location ~ /(data|uploads|templets)/.*\.(php|php5)?$ {

deny all;

}

下面是补充:

以下配置均在nginx配置的server处添加

location ~ /attachments/.*\.(php|php5)?$ {

deny all;

}

禁止attachments目录执行php文件权限

2、多个目录

location ~ /(attachments|upload)/.*\.(php|php5)?$ {

deny all;

}

禁止attachments与upload目录执行php文件权限

配置完后,重新reload nginx即可。
好了就这些吧,做了这些应该不会有什么问题基本够用!

上一篇:Windows下SVN服务器搭建方法整理(apache)

下一篇:比较简单实用的WEB安全设置总结

本文来自网络,不代表武先生个人博客立场,转载请注明出处:https://www.wujiexiang.com/devops/server/6187.html

作者: wuadin

广告位

发表评论

电子邮件地址不会被公开。 必填项已用*标注

联系我们

联系我们

18530226930

在线咨询: QQ交谈

邮箱: 345424724@qq.com

工作时间:周一至周五,9:00-17:30,节假日休息

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部