• 2004-02-26

    CGI入门教程 - [防毒杀毒]

    Unix环境

    本教程将与您一起学习在Unix平台上用Perl创建CGI。和其它教程不同,我们并不假设你了解CGI、Perl或Unix。

    学完本教程后,你将能够建立Perl的计数器、留言板和处理安全口令的程序。同时你也会对Perl语言有所了解,学习使用其变量、if语句和循环。

    什么是CGI?

    CGI代表通用网关接口(Common Gateway Interface)。本质上,CGI是运行在服务器上的程序。它可以用任何语言编写 - 只要能够在你的服务器上运行。Perl之所以能够成为CGI编程的首选,是因为它可以适应所有的平台,而且拥有很多对Web来说非常理想的工具。

    当我在一个网页上填充一个form并按’Submit’时,有2件事在服务器上发生:


    敲入或选择的所有信息被拷贝到服务器。
    服务器寻找在form顶部确定的程序,然后运行之。

    程序做的第一件事通常是请求网页form中的内容,然后把它赋给变量。然后程序可以查询数据库、发送一封电子邮件或加入留言板、或者任何你想做的事。

    我们通过例子学习教程。对每个新的主题,我们查看整段代码,然后分成小片段并进行讨论。在你在Unix服务器上使用Perl之前,应该对Unix有一些了解。

    Unix环境

    你应该会用Telnet登录到Unix服务器上以便能用Perl创建CGI。

    你也应该能把文档FTP到服务器上。

    实际上,Unix是一种最强大和灵活的操作系统。当作为终端使用时,用户用一种称为X-Windows的图形用户界面。X-Windows因为在互联网上太慢而无法使用,所以我们将使用命令行方式。

    命令行提示

    每次在Unix中输入新的一行,将得到一个命令行提示。通常以机器名然后跟着一个%或#字符的形式出现。这是输入基本命令来创建、拷贝、移动和删除文件的地方,还可以做其它事情。

    试试这些联系:


    打开你最喜欢的Mac或PC字处理器。对于HTML来说,用一种简单的能把代码存成纯文本的编辑器。敲入这行:This is a dummy sentenc.
    把文件保存为practice.txt。
    用FTP程序把这个文件上载到服务器上。注意:应该以ASCII的方式上载你的CGI文件,不能用binary方式。
    用TELNET程序访问你的Web服务器。
    用你的用户名和口令LOGIN。
    敲入ls然后按回车键(注意:使用小写,Unix区分大小写),你的Web服务器中的内容将列在屏幕上,应该能够看到你的practice.txt。
    敲入pwd然后按回车。pwd代表“打印工作目录(Print Working Directory)”。从服务器的ROOT目录到你的当前目录的路径将显示出来。例如,我的主目录是/home/usr/robyoung/htdocs。
    敲入mkdir myfolder然后按回车 - 创建一个叫’myfolder’的目录。
    敲入mv practice.txt myfolder/practice.txt然后按回车 - 把practice.txt移动到myfolder中。
    敲入cd myfolder然后按回车 - 进入myfolder目录。
    敲入pwd然后按回车 - 路径名以/myfolder结束。
    敲入ls然后按回车 - myfolder中的内容将显示出来 - 只有practice.txt。
    敲入cp practice.txt copy2.txt然后按回车 - 做一个拷贝。
    敲入ls然后按回车 - 将列出两个文件。
    敲入rm copy2.txt然后按回车 - 删除这个文件。
    敲入ls然后按回车 - 只剩下practice.txt。

    chmod命令

    创建CGI程序时,需要改变其访问权限以便能从网页中执行之。我们用chmod命令实现这个目的。chmod命令有两个参数 - 谁拥有权限和他们将拥有哪些权限。

    1.谁拥有权限?

    有三类不同的权限:User、Group和Others - 用字母u、g和o表示。字母’a’表示所有类别。

    2.可以拥有什么权限?

    有3种类型的权限:Read、Write和eXecute,用字母r、w和x表示。

    权限通过等号赋予(=r、或=rw、或=rx),或者通过加号(+r或+rwx)或减号(-w或-rwx)。

    3.如何敲入命令?

    对于大多数CGI程序,我想让所有人都有读和执行的权限,但没有写的权限,因此没有人可以删除或编辑我的程序。下面是最常见的命令:

    chmod a+rx filename.cgi

    表示让所有人有读和执行的权限。当我创建一个文件时,我拥有完全的读、写和执行权限,但其他人没有任何权限。这个命令让所有人可以运行我的程序。

    在myfolder文件夹中试试这个例子:


    入ls -l然后按回车。显示出关于practice.txt的很多信息,包括大小、拥有者和最后保存的日期。
    观察访问权限,可能是这样:rwx------或rw-r--r--或rw-r-----,前3个指明user权限(读、写、执行)。然后的三个是group权限(无),最后的三个为other权限(无)。
    敲入chmod a+rx practice.txt然后按回车 - 为所有类别增加读和执行权限。
    敲入ls -l然后按回车 - 这时显示的权限为rwxr-xr-x,指明拥有者仍然拥有所有权限,group和others有读和执行权限,但没有写的权限。
    敲入chmod go-x practice.txt然后按回车。
    敲入ls -l然后回车 - 现在的权限为rwxr--r--,指明拥有者仍有完全的权限,group和others只有读的权限。
    删除myfolder文件夹


    敲入rm practice.txt然后按回车。
    敲入cd ..
    敲入rmdir myfolder

    定位Perl和sendmail

    定位Perl程序

    每个Perl程序指明Perl在系统中的位置。于是外部的网页可以知道执行什么程序和去哪找它。

  • >金山毒霸破解步骤
    >
    > 1、登陆金山毒霸网页:http://gz3.duba.net/user/add.php“金山毒霸系列产品
    >正版用
    >户新序列号申请”页面,在金山系列产品序列号框内输入(可复制后粘贴) 下列其中任
    >一序列
    >号:(限于文章篇幅,大量可用序列号不列出,你可运行金山毒霸2003算号器自己进行
    >测算)
    > 金山毒霸V标准版:
    > 103000-010050-136872-532073 103000-010050-136872-535877
    > 103000-010050-136872-538753 103000-010050-136872-550061
    > 103000-010050-136872-552218 103000-010050-136872-560078
    > 103000-010050-136872-565616 103000-010050-136872-566672
    > 103000-010050-136872-575925 103000-010050-136872-577706
    > 103000-010050-136872-583549 103000-010050-136872-600359
    > 103000-010050-136872-603485 103000-010050-136872-611094
    > 103000-010050-136872-611205 103000-010050-136872-618738
    > 103000-010050-136872-625504 103000-010050-136872-628044
    >
    > 金山毒霸2003标准版
    > 102400-010017-026376-168974 102400-010017-026376-176013
    > 102400-010017-026376-187581 102400-010017-026376-189253
    > 102400-010017-026376-209108 102400-010017-026376-215709
    > 102400-010017-026376-217435 102400-010017-026376-233636
    > 102400-010017-026376-241433 102400-010017-026376-261629
    > 102400-010017-026376-291962 102400-010017-026376-298408
    > 102400-010017-026376-307532 102400-010017-026376-311686
    > 102400-010017-026376-313336 102400-010017-026376-328038
    > 102400-010017-026376-328391 102400-010017-026376-334589
    >
    > 金山毒霸2003安全组合装
    > 102000-010000-943231-130021 102000-010000-943231-152266
    > 102000-010000-943231-152486 102000-010000-943231-172141
    > 102000-010000-943231-180884 102000-010000-943231-199079
    > 102000-010000-943231-211936 102000-010000-943231-214631
    > 102000-010000-943231-227852 102000-010000-943231-249948
    > 102000-010000-943231-259340 102000-010000-943231-259965
    > 102000-010000-943231-262625 102000-010000-943231-263003
    > 102000-010000-943231-267682 102000-010000-943231-270416
    > 102000-010000-943231-271320 102000-010000-943231-290349
    >
    > 金山毒霸2003 钻石会员版
    > 102100-010000-123356-003060 102100-010000-123356-014651
    > 102100-010000-123356-015672 102100-010000-123356-020307
    > 102100-010000-123356-032528 102100-010000-123356-034103
    > 102100-010000-123356-040618 102100-010000-123356-048598
    > 102100-010000-123356-051413 102100-010000-123356-052060
    > 102100-010000-123356-056652 102100-010000-123356-060199
    > 102100-010000-123356-061711 102100-010000-123356-063676
    > 102100-010000-123356-067147 102100-010000-123356-931935
    > 102100-010000-123356-934172 102100-010000-123356-937881
    >
    > 点击确定后,如果出现“验证通过,您的序列号还可以使用,不用登记”字样,则
    >说明该
    >序列号为可用的升级序列号。
    > 3、请第一时间安装金山毒霸V标准版或,金山毒霸2003其他产品( 如果你的系统安
    >装了其
    >他杀毒软件或防火墙,请先行实时防护关闭 ),在安装过程中程序会先后要求输入产品
    >序列号
    >和激活代码:
    > 产品序列号请务必输入你刚才验证通过的序列号,激活代码为2wxxxxxx(在xxxxx位
    >填上任
    >意数字或英文字母均可)。
    > 安装完成后视其要求决定是否重启系统。
    > 切记不可运行金山毒霸注册机进行安装!
    > 4、选择金山毒霸主界面中的【我的金山毒霸】所有菜单选项中的【在线升级毒霸
    >】选项;
    >或者直接点击主程序界面位于右侧的“在线升级”按钮;出现“选择升级方式”界面后
    >,请选
    >择【从Internet上升级】;
    > 点击“下一步”或者“自动升级”按钮都会弹出一个对话框,让用户输入激活码 (
    >即使你
    >在安装时通过了激活码程序验证,在第一次上网升级时也一样要再次输入激活码,再次
    >验证通
    >过后便无须再输入了 )。只要按其要求输入激活码后便能够顺利完成升级。
    > 当您单击下一步,开始选择升级站点,以获得最佳升级速度;将出现“选择最快的
    >升级服
    >务器”对话框,在请您选择升级服务器时,本人强烈建议你要选择“金山毒霸升级网站
    >”作为
    >升级服务器,即使在其他升级服务器的反应速度要比金山毒霸升级网站要快。原因是:
    >金山毒
    >霸V默认设置是允许升级服务器自动反馈信息(序列号、计算机标识、主程序以及引擎版
    >本 ),
    >而这些数据首先必须经过“金山毒霸升级网站”的检测认证和识别,其他升级网站须将
    >序列号、
    >计算机标识等信息反馈“金山毒霸升级网站”并通过认证识别后才会放行,因此如果选
    >择其他
    >升级网站升级,身份识别过程通常很慢,甚至无法识别!
    > 由于在升级时金山毒霸升级网站会自动反馈序列号、计算机标识信息,因此每