Apache服务器中限制针对某一目录的CGI解析
来源:互联网 发布:java编译成class工具 编辑:程序博客网 时间:2024/05/16 04:46
作者:Neeao[B.C.T]
在Linux服务器的web应用中,经常需要上传文件到服务器上。不管是php的也好,jsp的也好,如果web程序对于上传检查不严格,可导致黑客上传webshell,对服务器安全威胁自不用说了。对于 web开发对文件上传的限制,这里就不说了,这里仅仅来讨论服务器如何设置才防止上传的webshell执行。
记得以前写过一篇文章,针对Windows下web目录的设置,脚本可以执行的仅仅给web匿名账户读取文件的权限,用户可以上传的目录不给其执行权限。这样即使web程序有问题,就算上传了webshell也无法执行的。
在Linux情况下,本来以为去除上传目录的执行权限后,就ok了的。通过chmod去除后,导致无法上传,比较郁闷。后来一想,在Windows下是通过IIS来限制对web目录的解析的,那apache应该也可以的吧。
查找了apache的帮助文档,终于让我找到了一种解决方法:
限制某一个目录针对php的解析方法之一,昨天在FreeBSD上测试可用。
在httpd.conf配置文件中,搜索Directory节点,添加新的节点;
<Directory "/www/home/upload">
AddType text/html .php
</Directory>
将php文件解析为html,浏览者看到的是自己的源码了,hoho。
刚才又找到一种方法,关闭路径/www/home/upload的php解析:
<Directory "/www/home/upload">
<Files ~ ".php">
Order allow,deny
Deny from all
</Files>
</Directory>
限制针对php文件的解析,对于*.php.*这种文件,可以添加上即可。
其实还有一种方法就是将图片文件上传到一个单独的文件夹,给一个二级的域名,这样不给这个虚拟站点解析权限。目前很多网站是采用的这种方式。
关闭虚拟主机的php解析:
<VirtualHost code.neeao.com>
...
<Files ~ ".php">
Order allow,deny
Deny from all
</Files>
</VirtualHost>
- Apache服务器中限制针对某一目录的CGI解析
- Apache中限制某些IP访问某个网页及配置某一目录只允许访问指定后缀的文件
- nginx中针对目录进行IP限制
- Apache配置,针对某个目录不解析PHP
- Apache中如何使每个用户有独立的cgi-bin目录
- Web 服务器上的“ISAPI 和 CGI 限制”
- Apache 配置静态缓存+禁止解析+限制访问目录
- apache 不能访问 cgi-bin目录下的文件
- C语言CGI和Apache服务器的开发环境
- 开发基于Apache服务器上的CGI程序
- 开发基于Apache服务器上的CGI程序
- 用C语言和VC6.0做个最简单的CGI程序,并且运行在apache服务器环境中。
- [服务器搭建]ISAPI和CGI限制中没有ASP.NET v4.0
- 在apache中部署cgi
- apache中添加cgi模块
- Apache + php 限制 虚拟目录A访问目录以外的文件
- apache中perl cgi程序显示源代码的问题解决方法
- 浅析Apache中SSI和CGI的设定方法
- Harmonious layouts for n queens in a n*n chessboard
- 10大最佳古怪网站
- 一款餐饮软件的破解
- 跨平台编译含中文源码方法(MSVC和GCC)
- C++操作符重载
- Apache服务器中限制针对某一目录的CGI解析
- 如何取id号?
- 一道趣味算术题
- 让UI开发轻松而快乐,用SonicUI引擎实现常见UI效果
- 软件开发的目的
- SessionFactory.getCurrentSession与openSession的区别
- Symbian文档类读写文件和读写Ini文件
- three days backup
- C#高级(五)继承,派生类,派生类的构造方法