computer 版 (精华区)

发信人: Aug (如风), 信区: network
标  题: CGI的安全<转载> (7)
发信站: 听涛站 (Tue Mar 14 16:01:28 2000), 转信

2.写出安全的CGI程序

  假设你已经使的你的计算机和Web服务器很安全了,那么你后面就应该学会
怎样写出一个安全性很好的CGI程序。编写安全的CGI的原则和前面提到的相
似:

A.你的程序只能实现你指定的功能。
B.不要给客户额外的它不需要知道的信息。
C.不要相信客户给你正确的信息。

  关于第一条可能存在的安全隐患我在guestbook的例子中已经说明了。我提到
了几个可以揭露漏洞的常见的错误,但是,你同样应该记住:你应当考虑你所
应用的每一个函数的所有含义。

  第二条是一般安全性原则的简单扩展:系统之外的人对你的系统了解的越少,
你的系统就越没有可能被攻破。

  最后一条原则只是一条很好的很重要的编程原则,但同样也是安全性很好的
一个。CGI程序应该是安全可靠、健壮的。一个hacker可能做的第一件事是想尽
一切办法通过在你的CGI程序中不断调整输入来搞乱程序,进而达到攻入计算机
的目的。如果你的程序并不健壮,那么这时,它或者会崩溃,或者会实现其它
的功能(当然这些功能是你不允许的)。这两种可能性都是令人不快的。为了杜
绝这种可能性,不要对你的客户可能发送的信息格式或值作任何的假定。

  大多数CGI程序的本质是简单的输入/输出程序。它提取客户端的说明并返回
一些响应。这种程序几乎没有风险(当然也会出现漏洞,后面你会看到)。因
为CGI程序并不对输入感兴趣,没有什么错误可能发生。然而,一旦你的程序利
用输入启动,可能回调用其他的程序,写文件,或者做一些功能更强大的而非
简单返回输出的事情,那么你就会冒引入安全漏洞的风险。通常,功能是直接
和安全风险成比例的。

--
※ 来源:.听涛站 cces.net.[FROM: 匿名天使的家]
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:0.857毫秒