linux社区爱心援助Linux认证系列教程业界动态站务新闻公司招聘建议留言网址大全LPI专题CISCO专题
设为首页
加入收藏
管理团队
JSP  
JAVA  
PERL  
 您的位置:首页 > article > Linux开发区 > 软件开发 >
栏目导栏
资料搜索
热门文章
·Linux 下 C 语言编程
·Linux下的通用线程池创建
·C++字符串转换篇
·linux C 进程操作篇
·linux上的C/C++编译器gcc/egcs
·linux C 文件权限控制篇
·GCC使用手册
·linux C 接口处理篇
·在Redhat Linux上安装 GCC 编译
·GCC使用指南
·C语言运算符
·Linux下C开发环境的构成和安装
·fopen()函数的参数说明
·GCC使用手册与常用命令
·Scheme 语言介绍
最新文章
·在Ubuntu Linux 8.04上构建GCC
·Linux操作系统下Socket编程地址
·将VC程序移植到Linux系统的几点
·Linux下malloc/free与new/dele
·Linux下用GTK和socket实现简单
·Linux操作系统下让Tomcat启动在
·Linux操作系统中如何编译C程序
·几种常被人们忽略的Linux系统下
·Eclipse编程工具 在Ubuntu下的
·Linux操作系统下的网络地址转换
·老手经验谈:Linux驱动程序开发
·Linux操作系统多线程同步Mutex
·Linux操作系统下C程序语言简易
·Linux系统平台下关于GCC编译及
·解决Linux系统下管道被接受方关
Google
 
Perl CGI 编程常见问题
[ 作者:  加入时间:2006-08-11 23:16:33  来自:Linux联盟收集 ]
文体说明: 2kiLinux联盟
 2kiLinux联盟
1. 2kiLinux联盟
译者已就原文中语焉不详、资讯过时,或可作额外补充之处附加注解。这些注解 2kiLinux联盟
 均以星号 (*) 於适当处(通常为句尾)标示。实际的说明文字则大多紧邻星号 2kiLinux联盟
 所在的段落,自成一段。所有注解文字均以「【译者】」起头。 2kiLinux联盟
2. 范例中的 Perl 程式码已由译者适度加以翻译、去除多馀的括弧,并依 2kiLinux联盟
 perlstyle manpages 中所建议的写作格式及习惯稍作修整。 2kiLinux联盟
 2kiLinux联盟
--------------------------------------------------------------------------- 2kiLinux联盟
 2kiLinux联盟
目录: 2kiLinux联盟
 2kiLinux联盟
1.0 -入门简介 2kiLinux联盟
 2kiLinux联盟
Q1.1:  为什麽我的 HTML page/form 需要用 script? 2kiLinux联盟
Q1.2:  CGI 各代表什麽? 2kiLinux联盟
Q1.3:  到底什麽叫 script?我能拿它来能做什麽? 2kiLinux联盟
Q1.4:  什麽是 Perl?为什麽有那麽多人用它来做 CGI? 2kiLinux联盟
Q1.5:  有没有教 CGI 或 Perl 的书或是线上资料? 2kiLinux联盟
Q1.6:  是不是有这方面的邮递论坛 (mailing lists) 或新闻讨论群组? 2kiLinux联盟
Q1.7:  网路上是不是有专门收藏邮递论坛或新闻讨论群组的 posts 的站? 2kiLinux联盟
 2kiLinux联盟
2.0 - Modules (模组) 2kiLinux联盟
 2kiLinux联盟
Q2.1:  我是不是该用 Perl CGI modules 来写 CGI scripts 2kiLinux联盟
?自己做不是比较容 2kiLinux联盟
    易吗? 2kiLinux联盟
Q2.2:  如何知道某个 module 该怎麽个用法? 2kiLinux联盟
Q2.3:  有哪些 Perl4 的 CGI 或 WWW的 libraries ? 2kiLinux联盟
Q2.4:  有哪些给 Perl5 使用的 CGI modules?我该用哪个?为什麽? 2kiLinux联盟
Q2.5:  为什麽这麽多 perl CGI libraries 都是 object-oriented 2kiLinux联盟
(物件导向) 2kiLinux联盟
    的?我对用物件导向来写程式一窍不通。难道就没有简单一点,给不会物 2kiLinux联盟
    件导向的人使用的 libraries 吗?物件导向有多难? 2kiLinux联盟
 2kiLinux联盟
3.0 - CGI 与 WWW Server 2kiLinux联盟
 2kiLinux联盟
Q3.1:  我的 Perl CGI 程式要放在哪里执行?cgi-bin 2kiLinux联盟
这个目录是做甚麽用的? 2kiLinux联盟
Q3.2:  什麽是档案使用权限?怎样改? 2kiLinux联盟
Q3.3:  Perl 应该安装在哪里才可以执行它? 2kiLinux联盟
Q3.4:  我为什麽一直得到 ``Server: Error 500'' 的讯息? 2kiLinux联盟
Q3.5:  我试著打开一个档案,想把资料储存在里头,但是 open() 的指令失败 2kiLinux联盟
    了。到底是怎麽搞的? 2kiLinux联盟
 2kiLinux联盟
4.0 -程式设计疑难杂症 2kiLinux联盟
 2kiLinux联盟
Q4.1:  我想让 user 填的 form 资料自动寄给我,该怎麽做?有没有范例? 2kiLinux联盟
Q4.2:  刚才这个用 form 送信的 script 看起来有点难。为什麽不乾脆用 2kiLinux联盟
    `` URL'',这样 user 填入的资料就可以寄给我了? 2kiLinux联盟
Q4.3:  我要如何在 UNIX 以外的平台上做 Perl-CGI,譬如 Mac、MS-DOS、 2kiLinux联盟
    Windows 及 NT?我的 Perl CGI 程式能不能在这些平台之间互相移植呢? 2kiLinux联盟
    能不能很直接,没有麻烦?我在 UNIX 主机上有帐号,但是都是先在 2kiLinux联盟
    Windows/Mac 上做。我要如何在我自己的机器上测试写好的 CGI scripts 2kiLinux联盟
    ? 2kiLinux联盟
Q4.4:  在 Perl CGI 程式中,STDERR (标准错误讯息)、STDIN 2kiLinux联盟
(标准输入),和 2kiLinux联盟
    STDOUT (标准输出)各是连到何处? 2kiLinux联盟
Q4.5:  如何写计数器? 2kiLinux联盟
Q4.6:  要如何用一个 Perl 的取代指令将所有 HTML 标签从一份文件中删除? 2kiLinux联盟
Q4.7:  要如何知道是谁/哪台机器/哪个浏览器执行了我的程式? 2kiLinux联盟
Q4.8:  人家看得到我的 Perl CGI 2kiLinux联盟
程式吗?如果是这样的话,那不就让他们知道 2kiLinux联盟
    我的程式是怎麽运作的了。这是个安全漏洞吗?我要怎麽把它隐藏起来? 2kiLinux联盟
Q4.9:  我需要将整个 Perl library 都复制到我的 htdocs 目录底下吗? 2kiLinux联盟
Q4.10: 2kiLinux联盟
我为什麽不该叫使用者输入他们的密码或身份证字号或信用卡号码?有一 2kiLinux联盟
    个 TYPE="password" 不是就是拿来做这个的吗? 2kiLinux联盟
Q4.11: 我要如何产生专门替 Netscape 2kiLinux联盟
设计的网页,以别於世上其他的浏览器? 2kiLinux联盟
Q4.12: 为什麽我的 system() 所产生的资料输出顺序不对? 2kiLinux联盟
Q4.13: 我听说 Netscape 会支援 Java。这是不是说我现在得弃 Perl,改Java 2kiLinux联盟
    了?是不是该这麽做? 2kiLinux联盟
Q4.14: 我要如何读取环境变数?为什麽它们有时候会不一样? 2kiLinux联盟
Q4.15: 为什麽我输出的资料被搅乱了(如 ``b < a'' 会被破坏掉)? 2kiLinux联盟
Q4.16: 为什麽我的Perl CGI 程式可以由指令列,却无法从浏览器去执行? 2kiLinux联盟
Q4.17: 为什麽我的 Perl CGI 程式能跑,但是不会把资料写到档案中? 2kiLinux联盟
Q4.18: 要如何做一个会维系状态,或允许【同一使用者】多次连线的 form? 2kiLinux联盟
Q4.19: 如果不从浏览器去执行我的 CGI 程式,要如何替它除错? 2kiLinux联盟
Q4.20: 如果不靠<FORM>标签,要如何叫出 Perl CGI 程式? 2kiLinux联盟
Q4.21: 要如何避免旁人不先填栏位就执行我的 form?他们为什麽一直不断这麽 2kiLinux联盟
    做? 2kiLinux联盟
Q4.22: 那些 server 回应码 (server response codes) 2kiLinux联盟
是干什麽用的?有什麽意 2kiLinux联盟
    义? 2kiLinux联盟
Q4.23: 为什麽 print "Location: http://host/page.htmln" 不 2kiLinux联盟
work?又为什 2kiLinux联盟
    麽它只 work 一次,但随後的转向就都弄错了呢? 2kiLinux联盟
Q4.24: 要如何让 server 在每个 HTML 2kiLinux联盟
网页的底部都自动加上一个:「最近更新 2kiLinux联盟
    日期: ...」的告示?或者,是不是只有 SSI 的网页才能这麽做?CGI 程 2kiLinux联盟
    式的日期要如何取得? 2kiLinux联盟
Q4.25: 什麽样的场合下以 Perl 写 CGI 程式会显得太小题大作,因为用 shell 2kiLinux联盟
    就可以做到?而什麽样的场合对 Perl 来说又过於困难?用 C++ 做这类的 2kiLinux联盟
    事不是好得多吗?那用 C 呢? 2kiLinux联盟
 2kiLinux联盟
5.0 -安全 2kiLinux联盟
 2kiLinux联盟
Q5.1:  以 Perl 写成的 CGI 程式是不是不如以 shell 或 C 写的来得安全? 2kiLinux联盟
Q5.2:  我该特别留意哪些安全事项? 2kiLinux联盟
Q5.3:  为什麽大家都说 http://bigidiot.abuse-me.com/perl.exe?foo.pl 2kiLinux联盟
这样 2kiLinux联盟
    很危险?会有多糟? 2kiLinux联盟
Q5.4:  要如何在程式中安全地使用逆向撇号(backticks,"`")?这麽做: 2kiLinux联盟
    @ans = `grep'$user_field' some.file`; 是不是真的不安全? 2kiLinux联盟
Q5.5:  /$user_variable/ 这个句法是不是 Perl 5 中的一个安全漏洞? 2kiLinux联盟
 2kiLinux联盟
 2kiLinux联盟
--------------------------------------------------------------------------- 2kiLinux联盟
 2kiLinux联盟
1.0 -入门简介 2kiLinux联盟
 2kiLinux联盟
--------------------------------------------------------------------------- 2kiLinux联盟
 2kiLinux联盟
Q1.1: 为什麽我的 HTML page/form 需要用 script? 2kiLinux联盟
 2kiLinux联盟
因为有的时候您需要在 HTML 2kiLinux联盟
文件中使用动态资料(非固定不变的资料)。这包括了 2kiLinux联盟
日期和时间这类的简单资料,或是一个显示「您是第 xxx 2kiLinux联盟
位访客」的计数器。但它 2kiLinux联盟
也可能包括根据使用者输入而得出的大饼图/条统图、资料库搜寻产生的结果,或动 2kiLinux联盟
画等这类的东西。要做出像这样的东西,您唯一的方法是使用 CGI scripts 2kiLinux联盟
(尽管您 2kiLinux联盟
也可以应用客户端程式,如 Java 和 JavaScript 2kiLinux联盟
来达到这个目的,不过那又是完全 2kiLinux联盟
不同的一回事!)。 2kiLinux联盟
 2kiLinux联盟
--------------------------------------------------------------------------- 2kiLinux联盟
 2kiLinux联盟
Q1.2: CGI 各代表什麽? 2kiLinux联盟
 2kiLinux联盟
以下是我的编辑* Andy Oram (<http://jasper.ora.com/andyo>) 和 Linda Mui 2kiLinux联盟
(<http://pcnt1.ora.com>) (他们很棒!)所写的一段非常好的描述: 2kiLinux联盟
 2kiLinux联盟
     【译者】这是原文的第一作者 Shishir G. 指他所写的 CGI Programming 2kiLinux联盟
     on the World Wide Web (<http://www.ora.com/info/cgi/>) 一书的编 2kiLinux联盟
     辑。 2kiLinux联盟
 2kiLinux联盟
     Common          向您确保 CGI 可以使用多种程式语言并和多种 2kiLinux联盟
                     不同的系统互动。它让您自由选择达到目的的方 2kiLinux联盟
                     法,不把您绑死在单独一种作法之下*。 2kiLinux联盟
     Gateway         提示您 CGI 的力量不在於它本身所做的事,而 2kiLinux联盟
                     在於它提供了连结其他系统的潜力,例如资料库 2kiLinux联盟
                     和图形制造器。 2kiLinux联盟
     Interface       只是表示 CGI 对如何善用其特性提供了明确的 2kiLinux联盟
                     界定-换句话说,您可以设计程式来适当利用这 2kiLinux联盟
                     个介面。 2kiLinux联盟
 2kiLinux联盟
          【译者】似乎有影射 Java 之意。 2kiLinux联盟
 2kiLinux联盟
--------------------------------------------------------------------------- 2kiLinux联盟
 2kiLinux联盟
Q1.3: 到底什麽叫 script?我能拿它来能做什麽? 2kiLinux联盟
 2kiLinux联盟
简单的说,script 2kiLinux联盟
就是程式!好吧、好吧,应该说二者有语意上的差别。如果您真 2kiLinux联盟
的想知道,那麽去买一本电脑程式设计的书来看(或许该说 script 设计 :-) 2kiLinux联盟
)。 2kiLinux联盟
 2kiLinux联盟
您可以藉著写 CGI 程式/script 2kiLinux联盟
变很多魔术。您可以即时制作图形、连结资料库传 2kiLinux联盟
回【查询】结果,还可以连到 Internet 上其他的 servers 去。 2kiLinux联盟
 2kiLinux联盟
--------------------------------------------------------------------------- 2kiLinux联盟
 2kiLinux联盟
Q1.4: 什麽是 Perl?为什麽有那麽多人用它来做 CGI? 2kiLinux联盟
 2kiLinux联盟
答案就在 perl manpage 中的前三行叙述: 2kiLinux联盟
 2kiLinux联盟
     Perl 是一解译式的语言,专为高效率检视文字档案、从中抽取资料,据 2kiLinux联盟
     以印制报表而设计。 2kiLinux联盟
 2kiLinux联盟
绝大多数 CGI 2kiLinux联盟
应用程式的任务都涉及对资料作某种程度的处理,及连结外在程式。 2kiLinux联盟
Perl 恰好提供了好用的工具,让人轻松愉快地达成这些任务。 2kiLinux联盟
 2kiLinux联盟
--------------------------------------------------------------------------- 2kiLinux联盟
 2kiLinux联盟
Q1.5: 有没有教 CGI 或 Perl 的书或是线上资料? 2kiLinux联盟
 2kiLinux联盟
   * NCSA 的 CGI 文件 (<http://hoohoo.ncsa.uiuc.edu/cgi>) 2kiLinux联盟
   * Forms 入门指引 2kiLinux联盟
     (<http://robot0.ge.uiuc.edu/~carlosp/cs317/ft.4-5.html>) 2kiLinux联盟
   * 许多 CGI 资源结点 2kiLinux联盟
 2kiLinux联盟
(<http://www.cs.oberlin.edu/students/thirdstream/paxtond/cgi_stuff.html>) 2kiLinux联盟
   * 原始的 CGI FAQ (<http://www.best.com/~hedlund/cgi-faq>) 2kiLinux联盟
   * Perl FAQ (<http://mox.perl.com/perl/faq/index.html>) 2kiLinux联盟
   * 由 Lincoln Stein 所著,一份很完整的WWW 及 CGI 操作安全 FAQ 2kiLinux联盟
     (<http://www-genome.wi.mit.edu/WWW/faqs/www-security-faq.html>) 2kiLinux联盟
   * Paul Phillips 所著,CGI 安全 FAQ 2kiLinux联盟
     (<http://www.cerf.net/~paulp/cgi-security/safe-cgi.txt>) 2kiLinux联盟
   * WWW FAQ (<http://boutell.com/faq/>) 2kiLinux联盟
 2kiLinux联盟
          【译者】此份 FAQ 的中译版可在 2kiLinux联盟
          http://www.acer.net/document/cwwwfaq/ 2kiLinux联盟
          (<http://www.acer.net/document/cwwwfaq/>) 处取得。 2kiLinux联盟
 2kiLinux联盟
以下是由 Cye H. Waldman (<http://wwwiz.com/books/cgi-perl.html>) 2kiLinux联盟
所整理的 2kiLinux联盟
CGI 和 Perl 书籍一览表*: 2kiLinux联盟
 2kiLinux联盟
     【译者】此表由译者更新,同时加入了原文作者 Tom C. 的 Perl 书评 2kiLinux联盟
     (<http://www.perl.com/perl/critiques/>)以供读者参考。请注意:CGI 2kiLinux联盟
     各书的等级评定乃单就其 Perl 部份的水准及正确性而言。符号说明: 2kiLinux联盟
     (Tom C. 用骆驼而非星星) 2kiLinux联盟
 2kiLinux联盟
          五颗星(**** 2kiLinux联盟
          *)               ==> 很棒的书 (terrific books) 2kiLinux联盟
          四颗星(*** 2kiLinux联盟
          *)               ==> 不错的书 (fine books) 2kiLinux联盟
          三颗星(***)   ==> 像样的书 (decent books) 2kiLinux联盟
          两颗星(**)     ==> 马马虎虎、勉强过得去的书 (so-so 2kiLinux联盟
books) 2kiLinux联盟
          一颗星(*)       ==> 差劲的书 (poor books) 2kiLinux联盟
          零颗星(0*)      ==> 大烂书 (terrible books) 2kiLinux联盟
                  NA         ==> 不适用、无书评 (Not 2kiLinux联盟
Applicable/Available) 2kiLinux联盟
                  v4         ==> 内容较老旧,仅含盖 Perl4 2kiLinux联盟
 2kiLinux联盟
----------------------------------------------------------------------------- 2kiLinux联盟
+---------------------------------------------------------------------------+ 2kiLinux联盟
      作者                书名            评价       出版者      所附 2kiLinux联盟
售价 2kiLinux联盟
                                                                 软体 2kiLinux联盟
(美金) 2kiLinux联盟
+---------------------------------------------------------------------------+ 2kiLinux联盟
                Effective Perl 2kiLinux联盟
                Programming: 60 Methods 2kiLinux联盟
 Joseph Hall    and Rules for Scripting  NA     Addison-Wesley    □ 2kiLinux联盟
$30 2kiLinux联盟
                Better Programs 2kiLinux联盟
                (预定出版日期:1997年1 2kiLinux联盟
                月) 2kiLinux联盟
+---------------------------------------------------------------------------+ 2kiLinux联盟
                Perl Developer's Toolkit 2kiLinux联盟
 Jon Orwant     (预定出版日期:1997年1  NA     Advice Press      □ 2kiLinux联盟
$?? 2kiLinux联盟
                月) 2kiLinux联盟
+---------------------------------------------------------------------------+ 2kiLinux联盟
                Cgi Programming For 2kiLinux联盟
 ??             Dummies                  NA     IDG Books         □ 2kiLinux联盟
$25 2kiLinux联盟
                (预定出版日期:1997年1 2kiLinux联盟
          &n Linux联盟收集整理 ,转贴请标明原始链接,如有任何疑问欢迎来本站Linux论坛讨论
分页:[1] 2 3 4 5 6 7 8
评论】【加入收藏夹】【 】【打印】【关闭
※ 相关链接
无相关信息