在Linux服务器的web应用中,经常需要上传文件到服务器上。不管是php的也好,jsp的也好,如果web程序对于上传检查不严格,可导致黑客上传webshell,对服务器安全威胁自不用说了。对于 web开发对文件上传的限制,这里就不说了,这里仅仅来讨论服务器如何设置才防止上传的webshell执行。
方法一 将php文件解析为html,浏览者看到的是自己的源码
在httpd.conf配置文件中,搜索Directory节点,添加新的节点;
<Directory "/data/htdocs/upload">
AddType text/html .php
</Directory>
方法二 关闭路径/data/htdocs/upload的php解析:
<Directory "/data/htdocs/upload">
<Files ~ ".php">
Order allow,deny
Deny from all
</Files>
</Directory>
方法三 将图片文件上传到一个单独的文件夹,给一个二级的域名,这样不给这个虚拟站点解析权限。目前很多网站是采用的这种方式。
关闭虚拟主机的php解析:
<VirtualHost code.neeao.com>
…
<Files ~ ".php">
Order allow,deny
Deny from all
</Files>
</VirtualHost> |