|
 |
栏目导栏 |
|
| |
|
|
|
|
 |
资料搜索 |
|
| |
|
|
|
|
 |
热门文章 |
|
| |
|
|
|
|
 |
最新文章 |
|
| |
|
|
|
| |
| |
|
|
|
|
[ 作者: 加入时间: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论坛讨论 |
|
|
|
|
|