发信人: mark7312(小马哥)
整理人: workingnow(2002-09-30 11:50:46), 站内信件
|
在apache里有两种配置执行CGI程序的方法:
方法一:(把特定的目录指定为CGI执行目录)
在这种方法里,指定目录下的所有文件都会被认为是CGI脚本而执行,而且一般来说该目录为不可写属性,这就意味着这个目录下不能放置除CGI脚本以外的.html网页或.txt数据文件,这种方法由于管理方便,为大多数管理员使用,设置的方法如下:
在conf/http.conf文件中加入如下语句:
ScriptAlias /cgi-bin/ "/home/www/cgi-bin/"
ScriptAlias "/home/www "
。。。。。。。
。。。。。。。
同时设置该目录的属性(禁止写及列表)
< Directory "/home/www/cgi-bin">
AllowOverride None
Options None
< /Directory>
以上设置方法为大多数作虚拟主机的服务器设置所使用。
方法二: (把特定的文件后缀作CGI脚本执行)
这种方法是把特定的后缀作CGI文件处理,例如:.cgi .pl .sh等,当这些文件被请求的时候,服务器会作执行处理而不把内容直接返回浏览器。
这种方法对于只有小数用户的服务器来说,使用很方便,不过安全行相应降低。如果你的服务器只有你自己使用,且安全性很高,则建议你采用这种设置方法:
在conf/httpd.conf(1.3.9以后的版本) 或conf/srm.conf(1.3.9以前的版本)文件中作如下修改:
#AddHandler cgi-script .cgi .pl (把该行语句前头的´#´去掉,增加.pl的后缀)
在conf/httpd.conf(1.3.9以后的版本) 或conf/access.conf(1.3.9以前的版本)添加需要执行CGI的目录属性:
< Directory "/home/*/public_html/cgi-bin">
Options ExecCGI
AllowOverride None
< /Directory>
上述方法令所有用户的cgi-bin目录下的.cgi.pl文件均可被执行。
采用这种方法设置CGI使用会方便些,特别有一些CGI程序采用.cgi文件作密码文件,采用这种设置,密码文件不会被列出,但是系统的安全性较第一种差。
---- 小马哥
美丽的梦和美丽的诗一样,都是可遇而不可求的,
常常在最没能料到的时候里出现
|
|