Server

Windows Server下IIS+PHP+FastCGI的简单优化

前两天因为一台linux的机器硬盘挂掉了,所以临时找了台Server 2003先顶了一下…

因为FastCGI的性能提高不少,所以也尝试了一下让IIS用FastCGI的方式执行PHP.简单做了一点优化,效果还是比较满意的.

所有操作在IIS6下测试,未测试IIS7.

用文本编辑器打开C:\WINDOWS\system32\inetsrv\fcgiext.ini,找到[PHP]部分.主要的属性有以下几个:

MaxInstances=10
MaxInstances定义了IIS可以发起的最大cgi进程数,默认值为10,该数值对大多数需要用到独立服务器的网站来说是不够的.具体修改的数值,建议根据系统资源决定,一般情况下,正常工作状态的php-cgi进程需要占用20M内存.

QueueLength=n
一个cgi进程最大处理队列值,默认1000

IdleTimeout=n
php-cgi进程的允许空闲时间,默认300s,超过该时间cgi进程退出

InstanceMaxRequests=n
每个cgi进程允许处理的请求次数,达到该数值cgi进程将重启.

Tags: , , ,

Sunday, June 14th, 2009 Server 1 Comment

重大漏洞, 让Apache上传不安全 – php.*

今天Google Reader上几个朋友share出几篇不错的文章,重大漏洞, 让Apache上传不安全-php.rar是其中一篇.

文章主要针对apache的一个问题,当一个连接请求xxx.php.suffix文件时,若该suffix在mime中没有定义,则apache会将这个文件当作是php文件来执行!而在apache默认配置中,rar,7z等等可能允许上传的文件中,都是没有定义mime的.

我简单测试了几个文件,甚至连test.php.gif这样的文件名都存在问题.而gif是有在mime中定义的.

上面文章中提到修改mime和添加type的方法,我也测试了一下,在我用的一台机器上,不能解决问题.

最后只能暂时将*.php.*全部禁止访问.禁止方法是在http.conf中加入如下内容:

<FilesMatch “\.php.(.*)$”>
deny from all
</FilesMatch>

该问题在apache 2.2.6中测试存在.上面的解决方法,可能造成部分正常文件无法访问.比如test.php.tar.bz2

Tags: , ,

Sunday, June 14th, 2009 Server No Comments