LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 2320|回复: 8

A sample CGI shell script

[复制链接]
发表于 2004-1-20 20:13:33 | 显示全部楼层 |阅读模式
come from:
http://developer.netscape.com/do ... rise/nt/cgitips.htm

The following shell script is very simple. It sends an HTML page to the client showing the current date in bold type. Figure 3.2 shows the page as a user would see it in Netscape Navigator.

A CGI shell script that prints the current date

#!/bin/sh

# Print out necessary header and empty line
echo "Content-type: text/html"
echo ""

# Print out a title and text. Note the HTML tags in the strings.
echo "<TITLE>The current date!</TITLE>"
echo ""
echo "<H1 align=center>The current date</H1>"
echo "<hr>"
echo ""
echo "Today's date is <b>"

# Echo the date
date +"%a %b %e, %Y"

# Clean up HTML page. Note the ending bold tag.
echo "</b>"
echo "<hr>"
发表于 2004-1-20 21:12:35 | 显示全部楼层
有意思~~,,devel,以后遇到shell在cgi上的应用的脚本实例,多往这里贴点~~,谢谢! :thank
 楼主| 发表于 2004-1-20 21:42:39 | 显示全部楼层
好的。。 我看见就贴来这里。
发表于 2004-1-21 09:21:49 | 显示全部楼层
因为安全性问题,不建议用shell做cgi。
发表于 2004-1-22 21:33:30 | 显示全部楼层
最初由 cx6445 发表
因为安全性问题,不建议用shell做cgi。

:ask,请解惑~~:thank
发表于 2004-1-23 00:00:48 | 显示全部楼层
echo 等命令可能会不安全。有一种可能就是中了那种能替代系统原来命令的病毒。
发表于 2004-1-23 16:27:24 | 显示全部楼层
shell script如何接收输入呢.
发表于 2004-1-23 18:33:05 | 显示全部楼层
最初由 xtaci 发表
shell script如何接收输入呢.

一般用read来读取输入,用echo来显示
如:
  1. echo -n "input:"
  2. read i
  3. echo $i
复制代码
这些问题可以看看置顶的贴子~~
发表于 2004-1-24 20:52:59 | 显示全部楼层
最初由 777 发表
echo 等命令可能会不安全。有一种可能就是中了那种能替代系统原来命令的病毒。

我并不这么认为。
Shell脚本一般用于小的、快速的甚至可以用完就不要的CGI程序,因此,编写它们时常常不考虑安全性。这种疏忽可以导致一些缺陷,使得仅对系统具有一般知识的人也能进入系统任意走动。

尽管Shell CGI 程序最容易写,甚至只需拼凑一下即可,但控制它们却很困难,因为它们一般是通过执行外部的其他程序来完成工作的。这就导致一些可能的隐患,CGI 程序会继承任何它使用的程序的安全问题。

例如,常用UNIX实用程序 awk对于它能处理的数据的数量有一些相当严格限制。如果在CGI脚本中使用awk,那么该程序也就有了同样的限制。

Perl比Shell脚本更进一步。Perl用于CGI编程有很多优点,并且相当安全。但Perl能给CGI 作者提供足够的灵活性从而导致对安全性的错误感觉。例如,Perl是解释型的。这意味着它实际在调用时是先编译,然后每次执行一步。这就很容易使得不正确的用户数据被包括进来作为代码的一部分,从而错误地进行解释。 (摘录)

这就要求CGI编写人员有足够的脚本安全知识,否则很方便的会被人利用从而被脚本渗透攻击。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表