动网论坛,站长建站首选,国内使用量最多的论坛软件 动网论坛官方技术讨论区 站长工具 申请属于您自己的免费论坛
首页 | 新闻资讯 | 网站运营 | 网络编程 | 数据库 | 服务器 | 网页设计 | 图像媒体 | 网络应用 | 搜索优化 | 资源下载 | 动网主机 | DVBOX
    本站内  互联网 ASP论坛  ASP.Net论坛  PHP论坛
  
   Cgi/Perl → 阅读文章

 设置IIS以使用CGI

作者来源: 
阅读 数 629 人次 , 2006-3-29 4:01:00 

在iis上运行cgi有十个简单的步骤:

1)安装internet service manager。
2)从列表中选择www servive。
3)选择properties/service properties命令。
4)单击directories标签。
5)单击add按钮。
6)指定自己的cgi-bin目录的完整路径(例如,c:webfilesscripts)。
7)使用/scripts作为目录别名。
8)选中execute检查框。
9)单击ok保存修改。
10)将自己的cgi程序放在c:webfilesscripts中并在html中作为/scripts/someprogram.exe引用。
在使用iis时经常出现的问题与设置iis没太大关系而是和基本的操作系统功能有很大关系。iis与底层的操作系统联系很紧密,即使已经设置为服务,web服务器基本上是作为应用程序来运行的,通常只有一个用户安全环境,web服务器能访问到的与web服务器下的cgi程序能访问到的内容几乎没什么不同(这类似于unix环境,在unix环境下,很重要的一点就是不要将web服务器作为root来运行)。iis的工作很像一个扩展的文件系统。每个用户有自己的权限。cgi程序在执行该程序的访问者的用户安全环境中运行。对于未验证的页面,这就是缺省提供的“无名的”用户,而对验证的页面,安全环境就像用户位于服务器控制台前手工运行该程序一样。使大部分初学者犯错误的正是这种额外的安全层次。

iis管理员最常抱怨的一个错误信息是"the application misbehaved by not returning a complete set of headers"。错误消息接下来列出服务器接收到的头标--一般是个空的清单。这种讨厌的不明确的错误有一个直接的原因,不过这个原因与cgi脚本的错误操作没有一点关系。如果因为某种原因某个cgi脚本不能运行,它就不能产生任何头标。iis将错误的责任推在脚本身上,实际上却几乎总是服务器管理员的错。cgi脚本需要访问系统dlls、系统的临时目录以及它们使用的任何其他资源。如果该脚本是按静态约束进行编译的,那么除非所有组件均可用,否则操作系统不会装载该程序的。如果系统管理员锁紧了安全级使得脚本不能装载它的dlls,那么脚本就不能运行。当脚本不能运行时,它也就不产生任何头标了(或者其他的输入),从而导致出现本段开头引用的错误消息。

如果管理员是在一个安全目录中运行脚本的(安全目录即是一个需要单独用户验证才能访问的目录),那么每个可能访问系统的用户都必须有下列安全权限。如果是无名地运行脚本,那么只有无名用户需要这些权限:

.对%systemroot%system(一般为c:winntsystem)的读权限
.对%systemroot%system32(一般为c:winntsystem32)的读权限
.对临时目录(一般为c:temp)的修改权限
.对web根的读权限
.对cgi目录的修改权限
如果在有了这些访问权限之后仍然出问题,可以进一步临时给特殊的用户帐号everyone赋予这些目录的修改权限。如果问题解决了,就可以认定是少了一个步骤(或一个用户)。纠正问题然后慢慢回收权限直至服务器重新安全。

 本文Tagsiis  
 收藏本文  打印本文  论坛讨论  关闭窗口
· 上一篇:Perl 的安装与设置
· 下一篇:perl调试工具
· CGI教学:第一章 cgilib例
· CGI应用程序开发基础
· 在CGI中如何使用cookie
· perl中的日期处理
· Perl编程中的纠错


关于本站 | 联系我们 | 业务合作 | 客户案例 | 诚聘英才 | 广告合作 | 收藏本站
海口动网先锋网络科技有限公司版权所有
Copyright © 2000 - 2006 Cndw.Com
中华人民共和国电信与信息服务业务经营许可证编号 琼 ICP 020077