Download - Aplicações Web em CGI

Transcript
  • 8/20/2019 Aplicações Web em CGI

    1/110

    !"#$%&'( * + , -'"%".(/0" 123

    *4 , -'"%".(/0" 123

     ! #$%&' ($')* +$ ,*- ./& *.)0)%1$.2 3&4)5# %46&'#$78*. * 9%4:.2 ;. *# ?#$ %#$@A*#B C. *1?)$' $ ($')%' +& #*4)& *# E?* & -'&U.*'1$''*A$ ?#$ (0A%4$2 JKLM2 P .*'

  • 8/20/2019 Aplicações Web em CGI

    2/110

    !"#$%&'( * + , -'"%".(/0" 123

    %46&'#$7/&2 Q (&..Z/& 1 & .*'

  • 8/20/2019 Aplicações Web em CGI

    3/110

    !"#$%&'( * + , -'"%".(/0" 123

    *4I4 =('&>?28 '"@(+82/:5@(/ (& 7'526%2+82/:5@(/

    R.)$. .&9?78*. +*(*4+*# +$ 1?4%1$7/& *4)'* & 19%*4)* V-'&U.*'W * .*'*1?7/& +* ?# ('&A'$#$ &? '&)%4$ 4& .*'

  • 8/20/2019 Aplicações Web em CGI

    4/110

    !"#$%&'( * + , -'"%".(/0" 123

     ! 6%A?'$ $& 9$+& %9?.)'$ $9A?#$. +$. ('%41%($%. )*14&9&A%$. ?)%9%=$+$. 4& +*.*4)& .%#@

    (9*.2 P a%(*')*>)& -$.*%$@.* *# 9%A$78*. *4)'* +&%. (&4)&. 1a$#$+&. +*R67(/"8 

    2 !. 9%A$78*.*4)'* $. o41&'$. ./& 1a$#$+$. +* :$67&'(8  V '56F8  W2 ]Z41?9&. +* a%(*')*>)& ./& %#(9*#*4)$+&. *#)*>)&. (?-9%1$+&. 4$ ,*- ?.$4+& ?#$ 9%4A?$A*# +*19$'$)%)&.W2 X* ?# $'E?%)& .%#(9*. '*1*-*'?#$ *>)*4./& +* 4* +* $'E?%)& $($'*1*B 1 ?#$ $($'D41%$ +*)*'#%4$+$ (*9&. +*.1'%)&'*.T

     !"#$%&' )* +*,+' 

    R.)* 5 & #/5025/( ($'0A'$6&2 

    P )*>)& 1 #$'1$+&'*. 5 1a$#$+& 7T@5

  • 8/20/2019 Aplicações Web em CGI

    5/110

    !"#$%&'( * + , -'"%".(/0" 123

     !95# +$ 6&'#$)$7/& +$ (0A%4$B & JKLM 5 '*.(&4.0)&2

    =2/:5@(/ OPP-P .*'$1*;+'.()*+(,-./*01 

    789='>$1*;+'.()*+(2'3*41 

    X?(&4a$ E?* ?# .*'$1*;+'.()*+(A 

    ?B124*;. @789='>$1*;+'.()*+(,-./*01A 

    ?C%)*'. @789='>$1*;+'.()*+(2'3*41A

    j# -'&U.*' F$#$%. )*'0 $1*..& $& +%'*)O'%& ,%4+&U.B (&' *>*#(9&2 ! ('%41%($9 6?47/&+* ?# .*'

  • 8/20/2019 Aplicações Web em CGI

    6/110

    !"#$%&'( * + , -'"%".(/0" 123

    .*'21%;E'?"*>$".'

     !. jgf. #$%. 1?4. ./& &. *4+*'*7&. +$ ,*-B E?* ?)%9%=$# & #*1$4%.#& JKKI ($'$

    '*$9%=$' $ )'$4.6*'D41%$ +* +$+&.TE++08??'106D2;46H2&2

     !1*..& $ .*'N0*.#$%.2M)"2>$D2

    I$..$A*# +* ($'o#*)'&. +* (*.E?%.$ ($'$ ('&A'$#$ +* -?.1$ ('&A-?.1$2*>* E?* )*'0 .?$*>*1?7/& %4%1%$+$ (*9& .*'

  • 8/20/2019 Aplicações Web em CGI

    7/110

    !"#$%&'( * + , -'"%".(/0" 123

    \/(K82/P -'&U.*' 5 ?# ('&A'$#$ E?* .*'B L$1W 5 ($'$ & 1(?)$+&'2 ! ('%41%($9 6?47/& +* ?# -'&U.*' 5 '2/  * *>%-%' & 1&4)*e+&

    +* ?#$ (0A%4$ ,*-2 ! #$%&' ($')* +&. -'&U.*'. )$#-5# 5 1$($= +* *>%-%' %-%7/&B *>*1?7/& &? @(K6'("@ 2 ^'&U.*'. )$#-5# (&+*# .*' ?.$+&. (..+'562  1&$(9%1$7/& 9&1$9 +& .%.)*#$ &(*'$1%&4$9 ($'$ 4$)& 1&4.)'?Z+&. 1$'E?%"+ 'B( V.*#*9a$4)* $& 1$-*7$9a& +* *@#$%9W %46&'#$4+& & 6^02/( @2 3A%28  *4)&.B

  • 8/20/2019 Aplicações Web em CGI

    8/110

    !"#$%&'( * + , -'"%".(/0" 123

    +*,+?0D2%; 6+,+

    ,S200D%>2+%';?H2&2 6>D2..

    _ #/(%(7('( OPP-P ('&)&1&9& JKKI 6?41%&4$ +* 6&'#$ .*#*9a$4)* $& ('&)&1&9& `KI ` ;5'2 P/"68.2/ -/(+ 

    %(7('  V('&)&1&9& +* 1?4%1$7/& ?.$+& 4$ ,*- ($'$ &(*'$78*. +* )'$4.6*'D41%$ +* $'E?%

  • 8/20/2019 Aplicações Web em CGI

    9/110

    !"#$%&'( * + , -'"%".(/0" 123

    W'"+8 IJ

    !>>*0+8 +*,+?E+1D

    !>>*0+8 %124*?H04

    X.*"S!4*;+8 Y%>"'.'5+ B;+*";*+ -,0D'"*" @Y'Z%DD2 [6J 7'102+%FD*A

    X* & .*'4? @4A03  

    =2+*8 \"%)2]R ^$;* K[R K_``

    @666 '$+"'. >2F*a2DE'.666A

    7';+*;+S+]0*8 +*,+?E+1D

    bUVYcdbU-!=d

    bVBVc-dPJP \%D* e'+ \'$;)b?VBVc-d

    @666A

    3 $. %46&'#$78*. 1&4)%+$. 4& 1$-*7$9a& *4

  • 8/20/2019 Aplicações Web em CGI

    10/110

    !"#$%&'( * + , -'"%".(/0" 123

    3lf 5 $ .%A9$ ($'$ !(00(6 J"%2K"A L6%2/."72  Vf4)*'6$1* 3?# +* J"%2K"A  W2 Q ?# ($+'/& ,m3 .?(&')$+& (&' )&+&. &. .*'

  • 8/20/2019 Aplicações Web em CGI

    11/110

    !"#$%&'( * + , -'"%".(/0" 123

     www +W Q ('*1%.& E?* & .*'

  • 8/20/2019 Aplicações Web em CGI

    12/110

    !"#$%&'( I + !(6.5N( @( 82/:5@(/

    I4 !(6.5N(

    @( 82/:5@(/

    I4*4 _ 82/:5@(/ ,#"7B2P .*'.?

    F%;?

    1')$D*.?

    %>';.?D'4.?

    >';5?

    >4%SF%;?

    0"',]?

    P +%'*)O'%& a)+&1.[ 5 & +%'*)O'%& '$%= +* +&1?#*4)&.B &? .*F$B *9* 1&''*.(&4+* $& +%'*)O@'%&

  • 8/20/2019 Aplicações Web em CGI

    13/110

    !"#$%&'( I + !(6.5N( @( 82/:5@(/

    P +%'*)O'%& 1A%@-%4[ 6&% ('*N( @2 #U

  • 8/20/2019 Aplicações Web em CGI

    14/110

    !"#$%&'( M + X8"6@( !JL

    M4 X8"6@( !JL

    3& 6&% #*41%&4$+& $1%#$B 3lfB &? !(00(6 J"%2K"A L6%2/."72  5 ?# #*1$4%.#& E?* (*'#%)*E?* -'&U.*'. * &?)'&. 19%*4)*. ,*- *>*1?)*# ('&A'$#$. *# ?# .*'

  • 8/20/2019 Aplicações Web em CGI

    15/110

    !"#$%&'( M + X8"6@( !JL

    $+#%4%.)'$7/& +* .%.)*#$. j4%>2 S$ #$%&' ($')* +&. *>*#(9&. +* 3lf $('*.*4)$+&. 4*.)* 1?'@.&B ?.$'*#&. ('&A'$#$. *.1'%)&. 4$ 9%4A?$A*# I*'92

    M4*4 L0#'"6%"6@( ( !JL

    I$'$ E?* & .*'*1?)$' ?# &-F*)& .&9%1%)$+& (*9& -'&U.*' *# *H *# ?# .*')*4./& V(&' *>*#(9& G21A%HW2

    =2/:5@(/28 ,#"7B2 ZX65D 2 156@(K8[I$'$ +*6%4%' ?#$ 0'*$ +* ('&A'$#$. 3lf *# .*'4%SF%;? ?)*&?D%F?E++0)?>4%SF%;?

    R..* $'E?%& +& .?-+%'*)O'%& >';5? +* E?$9E?*' %4.)$9$7/&+& !($1a*B .*F$ 156@(K8  &? G56&D 2 !-'$ & $'E?%%.)* ?# +%'*)O'%& 1&46%A?'$+& &? $ %4.)'?7/& (&+* *.)$' 1*4)$@+$ V('*1*+%+$ +* ?# }W2 ! $9)*'$7/& $1%#$ 6$'0 1 E?* ('&A'$#$. $'#$=*4$+&. *#?)*&?D%F?E++0)?>4%SF%;? .*F$# )'$)$+&. 1& ('&A'$#$. 3lf (*9& .*'"%0+!D%2. ?0"'4.? >8?!02>E*?>4%SF%;?

    d*.)$ 89!02>E*9>4%SF%;9 6&% #$(*$+& C jgf E++08??.$212#$%;2?0"'4.? V1&4.%+*'$4+& E?* $ (&')$ +& .*'';5 V&? ."16>';5 WT

    !))U2;)D*" >4%S.>"%0+ 6>4%

    m@Yt

  • 8/20/2019 Aplicações Web em CGI

    16/110

    !"#$%&'( M + X8"6@( !JL

    =2/:5@(/28 E57/(8(.%S&. .%.)*#$. ,%4+&U. *>%.)*# )'D. )%(&. +%6*'*4)*. +* 3lf2 ! #$%&' ($')* +&. .*'$ E?* &?)'&.2P ('%#*%'& )%(& 5 & 156+!JL B E?* .?(&')$ ('&A'$#$. E?* '&+$# .&- 156@(K8  V* 4/&dPXW2 P 9_=+!JL  )$#-5# 1a$#$+& .%#(9*.#*4)* +* 1A%@-%4 .?(&')$ ('&A'$#$. E?* '&+$#$)'$*1?@

    )$'B 1& ('&A'$#$. %4)*'('*)$+&. E?* *>%A*# E?* .* 1a$#* ('%#*%'& & .%.)*#$ +* /&6%502 2R>*#(9&. ./& ('&A'$#$. *# I*'9B \$%.)* ?#$#$4*%'$ ?4%6&'#*W2 R4)'* &. .*' %4.)$9$+& 4& 9$-&'$)O'%& 9*4+& & $'E?%

  • 8/20/2019 Aplicações Web em CGI

    17/110

    !"#$%&'( M + X8"6@( !JL

    M4M4 G505%">?28 @( !JL 2 (&%/"8 "'%2/6"%5:"8

    3lf 5 ?#$ (&')0)%9B 69*>Z8*. $ -$41&. +* +$+&.2 P. 8+ 7/5#%8  A*'$9#*4)* ./& +*(*4+*4)*. +* 6$-'%1$4)* +* .*'

  • 8/20/2019 Aplicações Web em CGI

    18/110

    !"#$%&'( M + X8"6@( !JL

        !    "    #   $

    %&'()*($

    + +- .- /- 0- 1-

    +-

    231

    1

    .31

    -

    45)*(6 7%!898:')( ;8?'@5> AA= B$8)@5 A=C7A

    =(>?'@5> AA= B$8)@5 %DA

     X/& *'1Z1%&.('0)%1&.2 P 6&1& .*'0 4$ .?$ *.(*1%6%1$7/&2 R

  • 8/20/2019 Aplicações Web em CGI

    19/110

    !"#$%&'( M + X8"6@( !JL

    )$7/& *# ?#$ +*)*'#%4$+$ 9%4A?$A*# +* ('&A'$#$7/&B )*4+& $ %4)'&+?7/& C 9%4A?$A*# I*'9.*4)* $ 6%4$9%+$+* +* 6$1%9%)$' $ 1('**4./& +&. *>*#(9&.2

    M4a4 d&28%?28

    L$'E?* 1 V]W $. $6%'#$78*. *1?)$+&. (*9& .*'*1?7/& 6&% %4%1%$+$(*9& .*'

  • 8/20/2019 Aplicações Web em CGI

    20/110

    !"#$%&'( a + ;(/0&'U/5(8

    a4 ;(/0&'U/5(8

    P. 1(&4*4)*. +* 6&'#?90'%& ./& 1$#(&. +* *4)'$+$ +* +$+&. +*4)'& +* ?# -9&1& JKLMB1& -&)8*.B 1$%>$. +* .*9*7/&B 1$%>$. +* )*>)& * -&)8*. +* G'0+%&H2 R9*. ./& $ ('%41%($9 6&'#$+* *4)'$+$ +* +$+&. +%.(&4Z)& +*)$9a$+& .&-'* &$..?4)& #$. ?# (*E?*4& A?%$ +* '*6*'D41%$2

    a4*4 C'2026%( f;_YEg

    P *9*#*4)& b\ihYd 5 & #$%. %#(&')$4)* +&. *9*#*4)&. +* 6&'#?90'%&2 R9* +*6%4* &G-9&1&H +* 6&'#?90'%& E?* +** *.)0#&.)'$+$ $-$%>&T

     !@;BC!7VBieMj$"D 02"2 ';)* .*"3 *;&%2)' ' 5'"1$D3"%'j

    Y-VUi=Mj1/+')' UVVW @0')* .*" k-V '$ WifVAj

    "#$%&'"()*+,-./+ 01 2+03*32.45+)

    %678"%()9.:1;. .;345+ 0. ,1?@+?/. 0+ *+,-A;B,3+)

    ) $

    666 >'"0' )' 5'"1$D3"%' 666

     !%@;BC$

     ! .%4)$>* +& *9*#*4)& \ihY *9*#*4)& 1&4)5# 4& #Z4%#& +&%. $)'%-?)&.B ($'$ ?.& 13lf * +*#$%. $(9%1$78*. +* .*'

  • 8/20/2019 Aplicações Web em CGI

    21/110

    !"#$%&'( a + ;(/0&'U/5(8

    R%. ?# *>*#(9& +* ?.& +* b\ihYdT

    b\ihY !7VBieMjE++08??'jd

    @666A

    b?\ihYd

    R.)* -9&1& +* 6&'#?90'%& )*'0 .*?. 4%SF%;?0*)%)'60D B E?* .*'0 '*E?%.%)$+& (*9& -'&U.*' ?.$4+& &#5)&+& WifV2 S$ )*9$ $($'*1*'/& +&%. 1$#(&. +* )*>)&2 X?(&4a$ E?* & ?.?0'%& +%A%)* 1&4* G\&/& M&-/&H * 1& *4+*'*7& Gg?$ d&%.B kH2 P. +$+&. .*'/& *4$ +* )*>)&2 L$%&'*. +*)$9a*. .&-'* 1$+$ 1(&4*4)* ./& $('*.*4@)$+&. 4$. .*78*. $ .*A?%'2

    a4I4 C'2026%( fLH-XPg

    P *9*#*4)& bBeWXVd 5 ?.$+& ($'$ 1&4.)'?%' -&)8*.B 1$%>$. +* )*>)&B -&)8*. +* '0+%&B1$%>$. +* 1a*1$A*# * ($'$ $'#$=*4$' A/+?d

    &4+* &. $)'%-?)&. (&+*# .*' +%6*'*4)*.B +*(*4+*4+& +& E*>TF',

    +]0*M.$F1%+

    +]0*M"*.*+

    r@kY

  • 8/20/2019 Aplicações Web em CGI

    22/110

    !"#$%&'( a + ;(/0&'U/5(8

    +]0*ME%))*;

    +]0*M%124*

    +]0*M5%D* 

    a4M4 \(%?28 ZPh-Ci\XPP_HV =X\ELP (& YC=CP[ 

    P. -&)8*. ./& 1'%$+&. 1 &. $)'%-?)&. +]0*MF$++';B +]0*M"*.*+ * +]0*M.$F1%+2 !.?$ .%4)$>* -0.%1$ 5T

     !,>DE8 !"#$%&'())*+& C6DE"(),F/A;+ 0+ >+/5+)$ 4A

     !,>DE8 !"#$%&,('-.)& C6DE"(),F/A;+ 0+ >+/5+)$   *(

     !,>DE8 !"#$%&01,1)& C6DE"(),F/A;+ 0+ >+/5+)$  

    P. -&)8*. +& )%(& fXqYBV * h-f-V '*$A*# $ *%-%+& 4$ )*9$2 ! .%4)$>* +* ?# *9*#*4)& V-gV *# JKLM5 $ .*A?%4)*T

     !,>DE8 !"#$%&)12)& 

    #6G"():+-1H0+H2.-@+H01H/1=/+)

    C6DE"()/1=/+ 3:323.; 0+ 2.-@+ 01 /1=/+?)

    r@kk

  • 8/20/2019 Aplicações Web em CGI

    23/110

    !"#$%&'( a + ;(/0&'U/5(8

    IJK"():L-1,+ 01 2.,.2/1,1?

  • 8/20/2019 Aplicações Web em CGI

    24/110

    !"#$%&'( a + ;(/0&'U/5(8

     !,>DE8 !"#$%&054.*&

    C6DE"()$ E?*(&+* $..?#%' +&%. *.)$+&.T '5

  • 8/20/2019 Aplicações Web em CGI

    25/110

    !"#$%&'( a + ;(/0&'U/5(8

    a4n4 C'2026%( fPCjP,YC,g

    P *9*#*4)& bV-gV!h-!d 5 ?# -9&1& V(&..?% +*.1'%)&' %4%1%$9 * 6%4$9W * +*6%4* ?#$ 0'*$&4+* .* (&+* 9*' &? +%A%)$' )*>)& *# & #&.)'$ $ $($'D41%$ +* 1(&4*4)*. bV-gV!h-!dT

    a4o4 C'2026%( f=CGC!Pg 2 f_-PL_Hg

    3$%>$. * 9%.)$. +* .*9*7/& 1& $. #&.@)'$+$. 4$. 6%A?'$. $& 9$+& ./& 1'%$+$.1 & *9*#*4)& JKLM bf-c-7Vd2 R.)*1(&4*4)* 4/& 1&4)5# )*>)& #$.1&4.%.)* +* )& 1 &(78*.2P. 1(&4*4)*. bf-c-7Vd (&@

    +*# )*' ?#$ $($'D41%$ * 1(&')$#*4@)& +%6*'*4)* +*(*4+*4+& .* (&..?*# &?4/& &. $)'%-?)&. fBr- * YXcVBWc-2 !6%A?'$ $& 9$+& %9?.)'$ & *6*%)& +*..*.

    r@kt

  • 8/20/2019 Aplicações Web em CGI

    26/110

    !"#$%&'( a + ;(/0&'U/5(8

    r@ky

    $)'%-?)&.B )'$4.6&'#$4+& ?#$ 1$%>$ +* .*9*7/& *# ?#$ 9%.)$ E?* (*'#%)* .*9*7/& +* #e9)%(9$.&(78*.2 ! .%4)$>* +* ?# *9*#*4)& JKLM bf-c-7Vd *.)0 #&.)'$+$ $-$%>&T

     !M7N7O8

    e!Y-Mj;'1*O)'O>'10';*;+*j

    fBr-Mj;u1*"' )* '0av*. &%.w&*%.j

    YXcVBWc- bxSS f$0'"+2 .*D*ay' 1uD+%0D2 SSd

    d

    biWVBie 666d i0ay' K b?iWVBied

    666

    biWVBie 666d i0ay' ; b?iWVBied

     !%M7N7O8$

     K&+&. &. $)'%-?)&. ./& &(1%&4$%.2 ! *>%.)D41%$ +& $)'%-?)& e!Y- 5 &-'%A$)O'%$ *# 6&'#?90'%&.E?* )*'/& +$+&. *4*T

     !;D8,;>

    C6DE"()C.;+, 0. +@45+)

    I"D"$%"U  d

    V*,+' )*.>"*&*;)' 2 '0ay'

     !%;D8,;>$

    P $)'%-?)& C!cX- 5 &(1%&4$92 X* &. +$+&. 6&'*# *4)& 1&4)%+&*4)'* biWVBied * b?iWVBied 5 *4

  • 8/20/2019 Aplicações Web em CGI

    27/110

    !"#$%&'( * + ,-.'

    */ 01%.(2&34( 5 '617&"7-8 ,-.'

    "#$ %&'(' )*+&,-"./, 0 1)*2"$2'# ,  9:;  3 4567879:4;4 978:7 ?@A , @BC7:DE@ 3457948 4B@6;46 @8 67F>68@8 ;7 ,-.'  >:D?DG4;@8 9@8 56@H64?:7 >68@8 F@LM@ ;7 8@J>7:78 ;7 67;7 P+IQR)QSA

     (7C4 48 67T76U9FD48 9@ TD94?A

    */ F6D4;@6O 1466V W4??O ,-.'  3 4B67ED4LM@ ;7 ,."B%6B"' 9>%."B%6(1 "12 :-#(.%;"17&"7- P1D9H>4H7< 5464 4 'X:64LM@ Q6Y:DF4 7 &7?4:=6D@8S 7 :4 4 ?D9H>4H7DE@ F@< 7X:798M@ !"# 7 7X7F>:4;@ 4:64E38 ;4 D9E@F4LM@ ;@D9:76567:4;@6O ;4 T@6

  • 8/20/2019 Aplicações Web em CGI

    28/110

    !"#"$%&'%"$(& *"+ ,-."# /$."01.-% 2&3 45/  

    !"#$%&'()!&*

    "#$# %&%'()#$ * "$*+$#,#- . /%'%001$2* 3(% * 42) %&%'()15%6 7* #$3(25* 0%8# 62+#7* "#$# 3(%20)* 9(/'2*/%

    ,-.(/ 012 #$%&'()!&*

    :, 020)%,#0 *-$(&6# ; * '*,%/)1$2* 7# "$2,%2$# 62/#0; %,"$*+$#,#0 ?@A; #6+(/0 0%$527*$%0 B%4 '*,* * 78129"  ()262C#, # "$2,%2$# 62/

  • 8/20/2019 Aplicações Web em CGI

    29/110

    !"#$%&'( * + ,-.'

     "#$#% #% &'(#)*% +,-.)/0#% 12-3 /+1*)+'-*+1*3 # -*%-# 4#)-'1# *- ,-.' 5 6#+1#7

    4(,1,'+1* $* $,6(' 6)*0/%8#3 *-9#)' 6#%%'- %*) )*6)*%*+1'$#% $* &:)/'% -'+*/)'%; -*)#% $* 6#+1#74(,1,'+1* 6#$*- 0#+1*) 6#+1# $*0/-'(3 %/+'( *

    ' (*1)' ?!@3 /+$/0'+$# *A6#*+1* B "#$%!&%' C;

  • 8/20/2019 Aplicações Web em CGI

    30/110

    !"#"$%&'%"$(& *"+ ,-."# /$."01.-% 2&3 45/  

    !"#$%&'()   +  ),-. /- ' ).)'0"." !"  "#$%'() *+,-./#&!$ 0+&&!% 12/#3+!&' 4%#&5%+, /#,#/-+,+ 6+ /)7-,)&+ 8#5%.9 (' :

    !) ;,) /#,#/-+,+ +> /#.=# $#.=#!* ;,)2 /#,#/-+,+2 +> /#.=# $#.=# #-? ) !+ !, ;,) /#,#/-+,+ +> /#.=# #&-#!- ;,)2 /#,#/-+,+2 +> /#.=# #&-# #-? ) !+ !+  "+,>.7#6), 6+ !- )% !* !.   @23#2!/   @23# 8#3 *#&), +7-,+ DDD + DEFG

    !0$$   C /#,#/-+,+ 6+ HI$.-2 $$ 9 )76+ $$  ? 6+ %> # 6).2 6JK.-)2L+=#6+/.>#.2G

     @ -+,/+.,# /#-+K),.# 6+ #.0-$6#  +> 7"0'  7() ,+3,+2+7-# /#6+.#2 6+ /#,#/-+,+2 >#29 /)>#76)2

    6) 2.2-+>#G B)>#76)2 +7-,+ /,#2+2 1234 &51 2() +=+/%-#6)2 + 2+% ,+2%&-#6) ? ,+-),7#6)G

     "#.2 +2/#3+2 -),7#> ) 3,)K,#># 6+3+76+7-+ 6+ 3-#A),># + 6+*+> 2+, +*.-#6)2 /#2) 2+

    3,+-+76# ,)6#, ) 3,)K,#># +> >#.2 6+ %># 3-#A),>#G

    B)>#76)2 6) 2.2-+># -#>$?> 3)6+> 2+, +=+/%-#6)2 #-,#*?2 6) )3+,#6), 6768%9M

    6768%9 .234 &5.:

    89:9;9 3&+>+7-)= S%$-,#'() >  @-,.$%.'() 2.>3&+2

    ? T%&-.3&./#'() ;>  @-,.$%.'() /)> 2)>#@ U.*.2() =>  @-,.$%.'() /)> 2%$-,#'()A V+2-) ?>  @-,.$%.'() /)> >%&-.3&./#'()?? 1=3)7+7/.#'() @>  @-,.$%.'() /)> 6.*.2();; W7/,+>+7-) A>  @-,.$%.'() /)> ,+2-)== U+/,+>+7-) B>  @-,.$%.'() /)> @XUC XYC &  @-,.$%.'() /)> CVBB 1 &  @-,.$%.'() /)> ZCV

    [I\ 

  • 8/20/2019 Aplicações Web em CGI

    31/110

    !"#$%&'( * + ,-.'

    !"#$%&!$   '()*+!  !"#$%&!$   '()*+! !! "# $%&'() #$ "*+,-.), /+,01,') /01%2-31-'4-  %  234 & 5+*+/'67) .+ 4%./35  ' 8"5 ( 9)0(-/+0-67) .+ 4%./35  ! "5 )(#   :+;/+ .+ -,) ?()G) ))*+,-.), .+ ()0(-/+0-67)B + /,-0;L),G-,1 +G 4%./354  

  • 8/20/2019 Aplicações Web em CGI

    32/110

    !"#"$%&'%"$(& *"+ ,-."# /$."01.-% 2&3 45/  

    !" " #$%

    !# " !" & '(%

    !#&&% ) *+,-./0* 1, 234-,5,36*

     " #$%&'()# *'+, -#*.* ,#/&% 0'&+10%+, %,-'2'&%, 3 ' '4&+/.+()#5 6 #$%&'7#& 7%

    '4&+/.+()# %* 6"0'  3 # ,+8'2 7% +9.'27'7% : " ;5

    7D,E.1* " F.?41F%

    '()* 7D,E.1*% ) 7D,E.1* .D*-. 4*36G5 F.?4F

    7H " '()* 7D,E.1*% ) 7D,E.1* 4*36G5 F.?F , 7H 4*36G5 F4F

     C'&+10%+, A.% #-#&&%* 7%84 7% #.0-$7#  7% ',$', 7.$2', 8)# ,)# +98#&'7',5 D%84 7%

    4'+, #.0-$7# E $#&4'84#E ,% F#.0%& 8%-%,,+7'7% 7% ,% +*$&+*+& .* -+=&)#E 3 $&%-+,# $&%-%7BG2# $#&

    .*' -#84&'G/'&&'5 6.4&' ,#2.()# 3 -#2#-'& # -+=&)# 7%84 7% .* #.0-$7  8%.4 :7% '$H,4=%,;>

    7. " F6,I6*F%

    7? " FJ28 =5. E23C. 1, 7.F% ) +-*1=; KJ28 =5. E23C. 1, 6,I6*L

    74# " FJ28 =5. E23C. 1, +!"F% ) +-*1=; KJ28 =5. E23C. 1, 7.L

    74' " FJ28 =5. E23C. 1, F>,!",% ) +-*1=; KJ28 =5. E23C. 1, 7.L

     C'&+10%+, .,'7', '84%, 7% 4%&%* .* 0'2#& '4&+/.I7# ' %2', $#,,.%* # 0'2#& =31,:5 J,,%

     0'2#& ,% 4&'7.K -#*# ='2,%E K% #. #.0-$7  8.2# 7%$%87%87# 7# -#84%L4# #87% 3 .4+2+K'7#5,.0-$7# 7% *?24+$2', 2+8F', $#7%* ,%& '4&+/.I7#, ' 0'&+10%+, 7% 7.', =#&*',5 " $&+*%+&'E

    -#*# M1 0+*#,E .,'87# '4&+/.+()# ,+*$2%,>

    76,I6* " F

    -./0) 1. 2"34 1. 52" 637("8

    9.:571" 637("8

    -.;'.3;"8 

    F%

    76,I6* " MMNOP%

    -./0) 1. 2"34 1. 52" 637("8

    9.:571" 637("8

    -.;'.3;"8 

    NOP

    PGQ 

  • 8/20/2019 Aplicações Web em CGI

    33/110

    !"#$%&'( * + ,-.'

    "#$ %$&' ()*'+ ,-).,-'+ $-/+) 0$12) 3) .13() ,-' %$22-1 $ &'.141/)&$+ $- $ %+$5+)4)

    3#$ $ '30$3/+)+6 73'4 %$3/$8'8*1+5-.)9: ;'*' ()*'+ -4) ,-'

  • 8/20/2019 Aplicações Web em CGI

    34/110

    !"#"$%&'%"$(& *"+ ,-."# /$."01.-% 2&3 45/  

    !"#$%&'$( * +,-&./0.12,3,45%6(,3,'&..$,3,-$.'&,78

    9: * !"#$%&'$()*+8 ; 9: /2%'1&/*;

    !( * (9:' A!$ BCD !EF !P8 ; +G3 C3 K3 GJ3 CJ3 KJ3 GJJ3 CJJ3 KJJ7

    A% 1 19%&*31& /@2" >1& *9-+0*31 %/ )/ '%.1&8 *&&*20*&, 1 =-.+/1 0*&*0.%&% 3% 0*3* )/

    3% $%)$ %-%/%2.1$5

    JG9&%$$K%$ 913% $%& 0*-0)-*3*$ 21 012.%G.1 %$0*-*& 1) 21 012.%G.1 3% '%.1&5 61&

    %G%/9-18 $% !: >1& +/9&%$$18 913%7$% 3%$%L*& +/9&+/+& $%) 012.%=31 F012.%G.1 3% '%.1&H 1)

    $%) 2=/%&1 3% %-%/%2.1$ F012.%G.1 %$0*-*&H;

    M7N 

  • 8/20/2019 Aplicações Web em CGI

    35/110

    !"#$%&'( * + ,-.'

    !" $ %&'()&*&'()&*&'+&,-

    ./012 %&345 60775&* !"*&8&,- 9 0:./0:5 ;345 60775 '()'()'+8<

    ./012 %&345 60775&* &&8!"*&8&,- 9 0:./0:5 ;345 60775 =8<

    "# $%$&'(# )*+&), !" -#+ *#.*)/$.)0) *#& # /%.012  .1(# &&, # 21$ ) /3).4-#3 $&$4*)()3 5*#./6& )7#3) # .8&$3# 0$ $($&$./#4 0# 9$/#3:;

    '3$*+4#, '#3/)./#, '3$*$0$3 #4 !?4 $ '#44@9$+4 >??4 *#& *#./3)AB)33)4 5#1 *#(#*=A(#4 $& /%.012/  .$1/3#4: ')3) 21$ .C# 4$D)& +./$3'3$/)0#4 *# 9$/#3$4 #1$($&$./#4 0$ 9$/#3, *)4# $4/) 4$D) ) +./$.EC#F

    !)/(@7 $ %&.)&*&A)&,- B)/(@7 $ &C)A)/D&-

    B" $ &C@)@!)/(@78152&- 9 0:./0:5 ;C@)@.)A)8152<

    B" $ &C@)@E!)/(@78152&- 9 0:./0:5 ;C@)@!)/(@78152<

    BF $ &G H)/0IH54 D B)/(@7>J?&- 90:./0:5 ;G H)/0IH54 D A)<

    BF $ &G H)/0IH54 D B)/(@7E>J?&- 90:./0:5 ;G H)/0IH54 D C)A)/D>J?<

    *34353 6/%.&%&."/ 7- 8(1%.('- G4 $4/31/13)4 0$ *#./3#($ $& ,-.'  #'$3)& 4#B3$ B(#*#4 0$ 0$*()3)EH$4; I& B(#*# 0$

    0$*()3)EH$4 6 1&) +.4/31EC# *#&'#4/) '#3 9=3+)4 +.4/31EH$4 4+&'($4, *#./+0)4 $./3$ *J)9$4;I& B(#*# 6 )*$+/# .# (17)3 0$ 21)(21$3 +.4/31EC# 4+&'($4 $ )4 41)4 9)3+=9$+4 5&$4 )4 *3+)0)40$./3# 0# B(#*#: 4C# 7(#B)+4, ) .C# 4$3 21$ 4$D)& 0$*()3)0)4 (#*)+4;

     G4 $4/31/13)4 0$ ,-.'  4C# 0KL5470KL5475, '14577, M+045, '1204, K@/ $ K@/5)A+; G$%'3$44C# 0K #'$3) 4#B3$ 1& B(#*# 521$ ) 4$71$: 4#&$./$ 4$ 1&) 0$/$3&+.)0) *#.0+EC#5$%'3$44), $./3$ ')3K./$4$4, )'L4 # 0K : -#3 9$30)0$+3); G'L4 # B(#*# 0K '#0$& $%+4/+3 M$3# #1&)+4 B(#*#4 5470K, *#& #1/3)4 *#.0+EH$4, $, .# -+.)(, 1& B(#*# 5475, *#&'($&$./).0# #43$41(/)0#4 '#44@9$+4F

    !" %B" N JO, P

    BQ $ &D :)0@/&-

    R #$%!" %B" S O, P

    BQ $ &D :51@/&-

    R #$%# P

    BQ $ &572I TU&-

    R

    N4 9)(#3$4 '165K, && $ M$3# 4C# *#.4+0$3)0#4 9)(#3$4 -)(4#4; 9%.012/  *#./$.0# 21)(21$3*#+4) 4C# *#.4+0$3)0#4 9$30)0$+3#4, )44+& *# 21)(21$3 .8&$3# 0+-$3$./$ 0$ M$3#;

     G $%'3$44C# '14577 5O) .C# 4$3 21$P: 6 # *#./3=3+# 0# 0K; Q#0$ 4$3 14)0) 21).0# 4$0$4$D) )'$.)4 ) ')3/$ 5475 0# 0K 5&)4 $() /)&B6& '#0$ /$3 *(=141() 5475 :F

    &'$#%% %B7)4)/0@ S$ VOOOO, P

    9 K)W) )4(@ 7@:5125 75 B7)4)/0@ !"# K@/ S$ VOOOO

    R #$%# P

    9 A)7@ A@12/I/0@888 75 7)4)/0@ K@/ S$ VOOOO

    R

    RAS 

  • 8/20/2019 Aplicações Web em CGI

    36/110

    !"#"$%&'%"$(& *"+ ,-."# /$."01.-% 2&3 45/  

     " #$%''() !"#$% *+#,-./,0)12 %#&340# -.# '# 43%5#3#,0# %#0467#'8 " #$%''()&'(#$ *+/09 -.#12 9 ) '#. )%)'0)8 : %/& )*+++!"#$% *+;/6/ 888 #,-./,0)12 %#&340# -.# /,0#'

  • 8/20/2019 Aplicações Web em CGI

    37/110

  • 8/20/2019 Aplicações Web em CGI

    38/110

    !"#"$%&'%"$(& *"+ ,-."# /$."01.-% 2&3 45/  

     "#$% &'( )(*+,*,+'( !" ) #$%&''- $ ./((01)# ,('+ /.)+'&/+)( +&&'"1$  .'+' 2/3(*+,4+

    )(*+,*,+'( &) &)24(5/6 7( /.)+'&/+)( (5/ ((- ))6 8)9' '#:,3( );)%.#/(<

    !" +,- . /0 1 23!$4 ,-5 6 7 289& '&3 &':3!48 :8;8<

    ,- . / !! 23!$4 ,-5

    #$%&'' +,= .> ?0 1 23!$4 ,=5 6 7 289& '&3 &':3!48 :8;8<,= .> ? "" 23!$4 ,=5

    ='( );.+)((>)( ((- / .+4%)4+/ *)+%/ $ );)2,*'&/6 ?) +)*/+3'+ 61'#&- / ():,3&/ $

    4:3/+'&/ ) ' );.+)((5/ 2/%.#)*' +)*/+3' 61'#&6 ?) ' );.+)((5/ +)*/+3'+ %"0(1("-0&- / 1'#/+ @43'# &'

    );.+)((5/ &).)3&)+A &' );)2,B5/ &/ ():,3&/ *)+%/6 ='( );.+)((>)( )) () / .+4%)4+/ *)+%/

    @/+ %"0(1("-0&- / ():,3&/ $ 4:3/+'&/ ) / 1'#/+ +)*/+3'&/ ()+A %"0(1("-0&6 ?) @/+ 61'#&- $ .+)24(/

    );)2,*'+ / ():,3&/ C,) &4+A / 1'#/+ &' );.+)((5/6

    7 /.)+'&/+ *)+3A+4/ @"0'  35/ ./((,4 ,%' +).+)()3*'B5/ ,34@/+%) .'+' ,% 1)*/+ '((/24'*41/ K35/ $ ./((01)#

    2/3*+/#'+ ' /+&)% &/( )#)%)3*/(L6 =' 2+4'B5/ ) 3' 4%.+)((5/- / 1)*/+ '((/24'*41/ $

    +).+)()3*'&/ 2/%/ ,%' #4(*' /, 1)*/+- 2/% ,% 3M%)+/ .'+ &) )#)%)3*/(6 " /+&)% &)(()

     1)*/+- ./+$%- 35/ $ &)@434&' K./&) 35/ ()+ ()%.+) ' %)(%'L6 N%D/+' ()9' ./((01)# 2/.4'+ ,%

     1)*/+ '((/24'*41/ .'+' ,% 1)*/+ 43&);'&/- 35/ IA 2/%/ ('D)+ C,'# )#)%)3*/ ()+A 2/#/2'&/ )%C,) ./(4B5/6

    67/8&- > +DPQ''!JDR DE8':8#DR DN$9!JDR DS&%L!DR DT4U%!JDR DP8;JD05

    VK&483 > 67/8&-5

    OEPQ 

  • 8/20/2019 Aplicações Web em CGI

    39/110

    !"#$%&'( * + ,-.'

    */0/00/ 1#-."2(.-3 2- "33(45"67-3" #$%%&'() *(+),-+* $#(*+./(% (0 '(1$*(% +%%$2,+1,'$% 2$0 $% $#(*+3$*(% !"#$4 %&'("$ 

    ( "&)*5 6 $#(*+3$* !"#$ *(1$*7+ 80+ ),%1+ 9'(1$* ,73(:+3$; 3+% 2K 1 2LMNO29

    ># 1 2LPNQ29

    >.A 1 2R29

    "%&'+2>K >.A >#2,9 ; /"$.'%" & "KA/"$$S. LMNO R LPNQ

    */8/

  • 8/20/2019 Aplicações Web em CGI

    40/110

    !"#"$%&'%"$(& *"+ ,-."# /$."01.-% 2&3 45/  

    !"#$%&' ) !"#$%&' * + ", ()*+, +, ./01+, -& .$/0&-& 1&-023

    4%31 !"#$%&'* +&00&$4& 5"/#63' "./0&' -. /3-3' 3' .".6.$/3' -. !"#$%&'

    "#$ %&'#$ ()# *+ ,+' -&*$. $. ,/01$. *$ +0-'$*$ 2$*'3& 4 %$5+' /.-& *+0-'& *+ )#

    6,&(& *+ '+2+-/73& 7%#".8

    7%#". 823  ) 9:;?@ A4%31 23 *

    +B&C.0 &"DE6& 43#'& 436 FG*

    H

    9..$ &2+'$73& 4 -3& ()# :)+ 03& 4 2'+(/.& ).$' $ $-'/6)/73& FG ) 9:;?;

  • 8/20/2019 Aplicações Web em CGI

    41/110

    !"#$%&'( * + ,-.'

     !"#$% "#$%%&' (&)%*+", - $./0%0)

     !"#$% 1"#$%%&' (&)%*+"2, - 3$4&) *$ 56 $%$6$74&

     !"#$% 1"#$%%&"' "(&)%*"' "+"2, -3$4&) *$ 4)8. $%$6$74&.

    "#$# %&'$%&%$ ()*(+ ,+$(#-+. ,-.'  -%/'0) -+ +')$#-+$ 9):74; 12) ,234%+3# -# &)/

    )%$# 12) + 9):74; -+ ! 5 6 /%3(#*) %3472% 8#7+$)/ )/')4%#%/ 4+&+ 9.: '#$# /%.012/ . 9*: '#$#

    -)4%%/ ) 9;: '#$# '+3(+;,72(2#3()5

  • 8/20/2019 Aplicações Web em CGI

    42/110

    !"#"$%&'%"$(& *"+ ,-."# /$."01.-% 2&3 45/  

    "#$%&'$&(% )( '*(%%# ' '+,-./#% 0#)(1 %(+ )(2.$.)'% 0(3# 0+#4+'1')#+ ( -&.3.5'16%( )(

    -1 .)($&.2.*')#+ ,-( $7# 0#%%-. 0+(2.8# 9*#1# !: ": # #- $ ;< ='+' (/.&'+ *#$23.% *#1 0'3'/+'%

    +(%(+/')'% )# 6"0' : +(*#1($)'6%( -%'+ %#1($&( 1'.>%*-3'% 0'+' )(2.$.+ &'.% *#$%&'$&(%<

    ='+' *+.'+ $#/'% *#$%&'$&(% )( '*(%%# ' '+,-./#% -&.3.5'6%( # #0(+')#+ %&'(< ? %.$&'8( @ '

    %(4-.$&(A

    !"#$)*+,-./0.1+*230*3-4 6(%7'.8%.9:;%.%%6AB

    B $#1( )# '+,-./# 0#)( %(+ # $#1( )( -1 ).%0#%.&./# *#1# -1 0+#4+'1' ,-( #2(+(*(

    # %(+/.C# )( (61'.3< D(0#.% )( *+.')# ' *#$%&'$&(: (3' 0#)( %(+ -%')' 0'+' %( 3(+ # '+,-./#< E7#

    .$&(+(%%' # *#$&(>)#< =+#4+'1'% (1 6"0'  0#)(1 3(+ &'$ '+,-./#% )( &(8 9F6G.&; *#1#

    '+,-./#% G.$H+.#% 9I6G.&%;< =#+ (8(103#: 0'+' 'G+.+ # '+,-./# (%7'?C@D@ ( .10+.1.+ )# # %(-

    *#$&(>)#: 0#)(6%( 2'5(+A

    !"#$)0EF*+,-24 6(%7'?C@D@6AB

    GH=I' )J0EF*+,-2KA L M IN

  • 8/20/2019 Aplicações Web em CGI

    43/110

    !"#$%&'( * + ,-.'

    !"#$%&'()*+,-. 011$!2#3456507 88 !"# 0,99!: $;! "?9@9

    $!2#34565 ">9> A9>B>C;!0D

     $%"&' )*+,-./0 %0E#$5! F>9$#@9!D0. 0' =!3 G>2"@9!3 E9>3@H#@9!3. IJD07D

     $%"&' )*+,-./0 0K$0D

    "9@$5 0)!2# L>=>359>=! $! ?>$L! =# =>=!30D M @2"9@2# $> 3>N=> ">=9;!

    " #$%&'( )% &*)+,( -.-+/( 01 23- 0+4'- )% &-)- 5%6 )( -$72+5( O!$5#4565 % &(8+- -0+4'- -( -$72+5( =#35@$!45659

    !"#$%P*)Q,. 01O!$5#456507 88 !"# 0,99!: $;! "?9@9 O!$5#45650D

    !"#$%R,-QS)*. 01=#35@$!456507 88 !"# 0,99!: $;! "?9@9

    =#35@$!4565 ">9> A9>B>C;!0D

    TU@H# %VP*)Q,17 W

    "9@$5 R,-QS)* XYD

    Z

    :-$- ;%&'-$ 23 -$72+5(< 2=->=% ( (8%$-)($ LH!3#9 ?3 ,%$-0< ( =+=#%3- =% %4&-$$%,- )%;%&'@>0( 72-4)( =-+ )( '((#< 3-=< &-=( =%A- 4%&%==@$+( $%-0+6-$ ( ;%&'-3%4#( -4#%=< 2=%B

    1234# P*)Q,D

    1234# R,-QS)*D

    C 8(==D5%0 $%-0+6-$ )+5%$=(= #%=#%= =(.$% (= -$72+5(= 8-$- (.#%$ +4;($3-EF%= =(.$% %0%=2=-4)( (8%$-)($%= [(#< (4)% (# 8()% =%$ 23- %4#$% 3-+= )% GH 0%#$-= )+=8(4D5%+= 8-$- #%=#-= =%( -$72+5( I %/%&2#@5%0< =% %0% 8()% =%$ 0+)(< =% I 23- &(4%/J( )% $%)%< =% I #%/#(< =% I )+$%#*$+(<=2- +)-)%< %#&9 K =+4#-/% #D8+&- IB

    @O %\(# X>9]">@$!#H0D

    @O %5# X>9]9]">@$!#H %/+=#+$ % /0( ;($ 23 )+$%#*$+(9 K #-.%0- -.-+/( $%0-&+(4- (= 8$+4&+8-+= (8%$-)($%= )% #%=#% )% -$72+5(= )% ,-.'  % =%2=

    =+,4+;+&-)(=9 K 3-+($+- $%#($4- 23- &(4)+EJ( 5%$)-)%+$- (2 ;-0=-9 "2#$(= $%#($4-3 23 5-0($423I$+&(9 !"#!"  #%&'%(%)*+, 

    \9  K$72+5( (2 )+$%#*$+( I -&%==D5%0 L8()% =%$ 0+)(M\T  K$72+5( (2 )+$%#*$+( 8()% =%$ -0#%$-)(\6  K$72+5( (2 )+$%#*$+( I %/%&2#@5%0\#  K$72+5( (2 )+$%#*$+( %/+=#%

    N>OP 

  • 8/20/2019 Aplicações Web em CGI

    44/110

    !"#"$%&'%"$(& *"+ ,-."# /$."01.-% 2&3 45/  

     !"#!"  #%&'%(%)*+, 

    !"  "#$%&'( )*&+,) ) ,)- ,.-./0( 1)#(!$  "#$%&'( (% 2),3#&( )*&+,) ) ,)- ,.-./0( 2&4)#)/,) 2) 1)#(!% 56)#./2( 7 %- .#$%&'( 8(-%-!& 56)#./2( 7 %- 2),3#&(!' 56)#./2( 7 %- '9/8%:( +&-;3:&8(!( 56)#./2( 7 %- +($%),) 2) #)2)!) 56)#./2( 7 %- 2&+6(+&,&'( )+6)8&.:!*  "#$%&'( 7 ">!+  "#$%&'( 7 ?>@"AB!, >2.2) 2( .#$%&'( )- 2&.+!- C:,&-( .8)++( 2( .#$%&'( )- 2&.+!!   C:,&-. -(2&4&8.DE( 2( .#$%&'( )- 2&.+

    F.#. -(')# G-%2.# ( /(-)H ) #)-(')# %- .#$%&'( (% 2),3#&(I 6"0'  (4)#)8) 2(&+(6)#.2(#)+J ./'0/1 K #)-(') %- .#$%&'(I ) 23/453 K .:,)#. ( /(-) 2) %- .#$%&'(L

    620/7 890:073 ; /;53 &; 42 8?

    )@;6AB42

  • 8/20/2019 Aplicações Web em CGI

    45/110

    !"#$%&'( * + ,-.'

    " #$%'( )( /012  )$ *$#+,-,# . /,0-#.1$+ )$ 0,'-.' )$ .#2&,3(' .-#.34' )( 34-''  4

    %5.+.). )$ 5'(66105 6 7'-( *()$ '$# &'.)( $+ ,-.'  %(0(%.8)( ( *.)#9( )$ :&'%. $8-#$ ',8.,' ; $

    *,#- @2&$ 1$#.0+$8-$ 89( 4 8$%$''E#,(? *(,' ( ','-$+.

    /$%5. (' .#2&,3(' $ ),#$-F#,(' 2&.8)( '., )( '((#6

    %2$&.#01/012317(

    *9:9 ;2#.-?? -@"A

  • 8/20/2019 Aplicações Web em CGI

    46/110

    !"#"$%&'%"$(& *"+ ,-."# /$."01.-% 2&3 45/  

    678797 ,-$.1:" +;#-21 " #$%''() *+,-& . *#&-,/#01# %'#01-2- #01 3-&&-' 4!56 7-&- +'89,-: #,- 2#;# '#&

    E

    H#&-,/#01#: #$%''I#' *+,-' '() /-?'

  • 8/20/2019 Aplicações Web em CGI

    47/110

    !"#$%&'( * + ,-.'

    !"#$%&'( *+ !,-'($.,-/0/#1%(0,-'.23.1,-4/52%"6'7$2,-4.12,-!" 83.9#/27: ! 

    !"#$%&'( *+ #$-'($.-/0/#1%(0-'.23.1-4/52%"6'7$2-4.12-$" 8 3.2%$: $

    !"#$%&'( *+ #&-'($.-/0/#1%(0-'.23.1-4/52%"6'7$2-4.12-'" 8 3.2%$: & 

    "#$% $&'#( )$#*%$ %$ +#,#+-&,&$ .;/0 ./0.?/ %) .@/ +%,,&$5%3*&3-&6

    7#,# $)8$-9-)9:;&$0 -,#3$ <

    41%&7 ID 4#2#M1# ,I!4#2#M1#,I 9(% .&"(&71#3# &( 7.B7(TIH

    ? .20. <

    41%&7 ID 4#2#M1# ,I!4#2#M1#,I &U( 9(% .&"(&71#3# &( 7.B7(TIH

    ?

    D $M(8%

  • 8/20/2019 Aplicações Web em CGI

    48/110

    !"#"$%&'%"$(& *"+ ,-."# /$."01.-% 2&3 45/  

    "#$%&'% (%')(*+,*( #' -.(.-)%(%' /%(0*)*$#' 1'.+$# -2.''%' $% -.(.-)%(%'3 (%/(%'%+).$.'

    /#( 10. '%456+-*. $% -.(.-)%(%' /%(0*)*$#' %+)(% -#2-7%)%' ! % "8 9#0%+)% 10 $#' -.(.-)%(%'

    $. 2*'). /#$% %').( /(%'%+)% +# 21,.( 0.(-.$#8 "#( %:%0/2#3 #$%!&'(")*+# -#0;*+. -#0

    # /(%$%F*+*$.' %0 6"0'  % '1.' '%456+-*.' /#$%0 '%( '1;')*)1I$.' /#(-.(.-)%(%' $% %'-./%3 0#')(.$#' +. ).;%2. .;.*:#A

    !"#$%&'()   '+)!!" "#,(-)+"&." 

    M- !:,;"

    MN !%,O.,P:,;Q"

    M6 ! MEMFMGMR"

    M1 !D:,;"

    MS !D%,O.,P:,;Q"

    MT !D MEMFMGMR"

    789878 ,":;'.-?'-21(&0"# " 1'."0$1@A&J' 'I0;#2#' 1'.$#' +. '%D># .+)%(*#( /%(0*)%0 -#0;*+.( +# 0H:*0# 10 -.(.-)%(%8

    ".(. F.K%( -#0;*+.DL%' 0.*' -#0/2%:.'3 B /(%-*'# 1'.( #1)(#' /.$(L%' -7.0.$#' $%

    '%456+-*.'3 012)*/2*-.$#(%' % .2)%(+.D>#8 M '%456+-*. EH F#* 0#')(.$. .+)%(*#(0%+)%8 N#+'*')%

    $% 41.241%( '%456+-*. $% -.(.-)%(%' %+)(% ;.((.'3 -#0# #$%')*+#8 ".(. (%/(%'%+).( K%(# #1

    0.*' #-#((6+-*.' $% 10 $%)%(0*+.$# -.(.-)%(%3 1)*2*K.&'% # 0.*' '*0/2%' $#' 012)*/2*-.$#(%'3 #

    .')%(*'-#

  • 8/20/2019 Aplicações Web em CGI

    49/110

    !"#$%&'( * + ,-.'

    "#$ %&%'()#* + %&($%,,-# $%./)+$ !"#$%&'()*+! 0#'123+ 0#' 40+'%)#5* 40+'%)#,5*

    40+'%%%)#,5 % 40+++')#5* '+, 3-# 0#' 40'%)#5 #/ 40+'%)#,,56

     7 ,/1,828/29-# /,+3:# '/)82()20+:#$%, ; ,%'($% $%+)2?%) @/% 0#'123% 0#' # (+:$-#6 "#$ %&%'()#* + %&($%,,-# $%./)+$ :% ,/1,828/29-#

    *!#',!-.@/+3:# +()20+:+ A /%.012  

    01 2 34##########,. 5",6738

    ,/1,828/2$= 8#:#, #, BC +D, 0#3,%0/82?#, 0#' /'+ E320+ )%8$+ 4/56 F% + 238%39-# ; ,/1,828/2$

    .$/(#, '%3#$%,* ; ($%02,# /,+$ # '/)82()20+:#$ .%$+)* :%G232:# %38$% 0H+?%, 9 % :6 I#' %)%*

    (#:%J,% :%G232$ /'+ G+2&+ :% ?+)#$%, 23:20+3:# + @/+382:+:% :% %)%'%38#, + ,%$%' ,/1,828/>:#,6

     34-5#'(/ K

    *!#9;:,!- < &=#5#%&>5& ; ?#@A 4--,. 5",67

    *!#9B.C:,!- < D& B # C ED& FG&H&G6>"I#J ?#@A 4---,. 5",67

    *!#9K.L:,!- < D& K # L ?#@*!#9M.:,!- < M )- %#I* ?#@

    "+$+ 0#'123+$ 0#' /'+ )2,8+ :% +)8%$3+82?+, (#,,>?%2, :% 0+$+08%$%,* (#:%J,% /,+$ +,

    0)+,,%, :% 0+$+08%$%, L%38$% 0#)0H%8%,M6 "+$+ 0#'123+$ %38$% +)8%$3+82?+, :% ,%@NO302+,* (#$;'*

    +, 0)+,,%, 3-# ,%$?%'6 "+$+ 2,8#* /,+J,% /' .$/(# 0H+'+:# :% +)8%$3+9-#* #3:% +, +)8%$3+82?+,

    ,-# ,%(+$+:+, (%)# 0+$+08%$% 4N56

    !DI#N5#GD&N>)I5&N%#DG-O#D#! < ")%PI># ")% -%# D#* #(5&G>#5IQ#*

    !E*&O->D#N5&GR#NS-#G5#NS-I>5#N*&=5#JTH&IG#N*UP#D)ND)%I>O)!

    < F#G6>5&*&* D&HI>&% FG&"&D6>"I#V WFRX&* *&GY) *&O->D#TH&IG#.

    < 5&GR#TH&IG#. VVV. D)%I>O)V

    *67686 91:(."/P= @/+8$# 0+$+08%$%, %,(%02+2, @/% +30#$+' /' (+:$-#6 "#:%J,% 2:%382G20+$ # 23>02# :+

    /%.012 * # G23+) % + %&2.O302+ #/ 3-# :% /' )2'28% L23>02# #/ G23+)M :% /'+ (+)+?$+6 7 8+1%)+ +1+2 $%)+02#3+ #, @/+8$# 82(#, :% (+:$-#6

     " #$%&'   ()#*+% 

    Z Q3>02# :+ 0+:%2+ :% 0+$+08%$%,

    0 R2' :+ 0+:%2+ :% 0+$+08%$%,

    [P R2' #/ 23>02# :% (+)+?$+[4 S-# H= G2' #/ 23>02# :% (+)+?$+

    T '+$0+:#$ 4[P5 '+$0+ # 23>02# #/ # G23+) :% /'+ (+)+?$+6 U= # '+$0+:#$ '+$0+ +

    23%&2,8O302+ :%,,% )2'28%6 V%W+ +)./3, %&%'()#,K

    !FY)!"! < ")%PI># ")%  #$% %#* >Y) ")% FY)\I>,)

    !!"FY)! < ")%PI># ")%  #$% &  #$%\I>,) %#* >Y) ")% *#FY)

    XJYZ 

  • 8/20/2019 Aplicações Web em CGI

    50/110

    !"#"$%&'%"$(& *"+ ,-."# /$."01.-% 2&3 45/  

    !!""#$!"! & '$()*+, '$(  #$% (,- +#$ '$( "#$.*+/$ +0( -,"#$

    !!""#$!&! & '$()*+, '$(  #$%.*+/$ (,- +#$ '$( "#$ 12,+'3-

    !!&"#$!&! & '$()*+, '$( -, #$%.*+/$ (,- +#$ '$( 4( "#$ 12,+'3-

    "#$# $%&$%'%()#$ * +(,-+* .% /0# #.0-$6 1 /'#2'% * -+$-/(34%5* 6789 :')% -#$#-)%$% '; )%0

    '+*1 .%B%2'% &$%-%.C24* &*$ /0# -*()$#2D#$$#9

    !'($2'05$6! & '$()*+, '$( ($2'05$6 +$ *+7'*$ 8, !"#$%&  

    !96($2'05$6! & '$()*+, '$( 6($2'05$6 0( :4,;:402 ;45,2

    E -+3$>* $%&$%'%()# * 3+(#4 .# -#.%+# .% -#$#-)%$%'9 ?; 3#A '%()+.* /'@24* (* 3+(#4 .% /0 #

    %5&$%''>* F%0 =/#4=/%$ */)$* 4/* -*(3/(.# !6,)'! -*0 !O6,)'P!9 W &$+0%+$# %5&$%''>* -*0D+(# -*0 #

    #.0-$6  6#D-8 (* +(,-+* .# 4+(I#9 W '%

  • 8/20/2019 Aplicações Web em CGI

    51/110

    !"#$%&'( * + ,-.'

    */0/1/ ,".23%-4-4 5(6( 6-67.8"

     "#$% &' ()*+,)#-, - .,'('&/*(0- &-1 ).',-23'1 &' 4,5.)6 .-,/*+'1'1 +-%7$% 18) 51-&)1

    ()%) %'%9,0- .-,- -,%-:'*-, ) ,'15#+-&) &' ';.,'113'1 .-,- 51) .)1+',0),< =-,- ,'(5.',-,

    5% .-&,8) .,'>0-%'*+' -,%-:'*-&)6 $ .,'(01) 5+0#0:-, 5%- ()*+,-?7-,,- 1'450&- .), 5%

    0*+'0,) @ !"6 !#6 !$6 '+(-#),'1 &' !"6 !#6 !$6 '+(< K#-1

    .)&'% '*+8) 1', 51-&-1 '% )5+,-1 .-,+'1 &) .,)4,-%-<

    C'0-H.8 F GU8 -)*+,8 6 .8 7,0)8 689V. -./ 86I6)GK

    C'0-H.8 FL %)8 ->)*?8 6 )8 7>)*?8 %K , .'867W6 . 68D2X. 2DY8 . Z8[

    D7019 G\8 EC#8 I6W.72/ 28 8C"8 I. 76892472196!1GK

     "1 >-,0I>'01 +-%7$% .)&'% 1', #0&-1 '% 5% ()*+';+) &' >'+),G

    C] F GU8 -.'728 6 .8 729.8 689V. -./ 86I6)GK

    >CD70/607.B C86E41I.? F %)8 ->)*?8 6 )8 7>)*?8 %K, .4 ^W25.768 F %)8 ->)*?8 6 )8 7>)*?8 %K

    L) ';'%.#) -(0%-6 CD70/607. ()*+$% ) >-#), -,%-:'*-&) '% C" ' C86E41I. ()*+$%

    ) >-#), '% C#< MI -0*&- )5+,-1 +,/1 >-,0I>'01 .,'&'J0*0&-1 B5' )7+$% 0*J),%-23'1 -&0(0)*-01

    1)7,' - ';.,'118) ,'45#-,< N)&-1 '1+8) %)1+,-&-1 *- +-7'#- -7-0;)<

     !  "#$%!&'  )*+,-. 

    C"6 C#6 C$6 ',8) 1', ().0-&-1 .-,- )5+,-1 >-,0I>'01< E'F- 5% ';'%.#)G

    C96a9. F G\8 -2/65.8 D288272/ 2 1.096 14/2 b6892 -./ 28 552/28GK

    C96a9. FL %-2>)65?*.%K

    D7019 Gc70/607. 96a9. 27/2d612I.< 1$!1GK , 0/D70/6 Z/65[

    D7019 Ge6a9. 5.-250d2I.< 12!1GK , 0/D70/6 Z-2/65.8[

    Q?RQ 

  • 8/20/2019 Aplicações Web em CGI

    52/110

    !"#"$%&'%"$(& *"+ ,-."# /$."01.-% 2&3 45/  

    !"#$% '()*%+ ,$%)"#+"- !".$'/ 0 #1!"#1) 234 5

    !"#$% '()*%+ !+4%)"#+"- !#.$'/ 0 #1!"#1) 2 !,44,",1 666 77,1,45

    678797 :;.0 & 

    -$#"$#-.-%"  ,> ?+@/ $6 +'+6-5(A

    !"#$% '8#9#%) + :;) :;)" ?,@)"- '/

    A$+1) B =C+! DE(8FGH/

    #? IA$+1) BJ KL7#4%,"K$M N

    0 7#4%," ")4;7%,O+4

    0 P4;Q"#+ !+O) O#9#%," 2R#4%,"5S 2RFE(TU UVEPR(T83E5S 666

    W

    6787?7 ,;+#.-.;-@A"#" (-+./*(. *+ #$7#2&2$&B8(C .+-.+#+12/*( -+5( -.+%&'( 4C 0(5(0/*( /12+# *+ $6/

    +'-.+##8( .+9$5/. *+ *$/# -/.2+#C 2+6 / #+9$&12+ #&12/'+ 7:#&0/A

    %&%)*%+X,$%#9+&%)*%+X$+

  • 8/20/2019 Aplicações Web em CGI

    53/110

    !"#$%&'( * + ,-.'

    */0/12/ 3."45'6%-."78(

    " #$%&'(#& (% )&'*+,-)%&'./# 0 1)-, $'&' &%',-2'& +34+)-)3-.5%+ +-63,)7*%'+ %*)&%8'&'8)%&%+9 :'&' &%',-2'& 36' )&'*+,-)%&'./#; 3+'#3 #3) (%,-6-)'(#& ?3',?3%&@; '++-6 8#6# # 8#6'*(# #9 "+ #$%&'*(#+

    8#*+-+)%6 (% 36' +%?AB*8-' '*)-=' % 36' *#C'9 " $&-6%- 8'&'8)%&% (' *#C' +%?AB*8-'+34+)-)3-&D )#('+ '+ #8#&&B*8-'+ (# $&-6%- 8'&'8)%&% (' '*)-=' +%?AB*8-' %*8#*)&'(#+ *#)%E)#1O=PQRS3?NT"#!UV'WX789:,;75 < EI >/"#4 N/"/ H

    < $!&'!( /=("/ >(?!@3 A, $8$, $,9; 8 $,;$8 $, $9: $9 2,$84B

    :#(% +%& 3+'(# # C',#& (% &%)#&*# (% 36' )&'*+,-)%&'./#; ?3% 8#*)06 # *16% (%8'&'8)%&%+ 'I%)'(#+9 :'&' #4)%& %++% C',#&; 4'+)' ')&-43-& # &%+3,)'(# (' %E$&%++/# N 36' C'&-DC%,M

    $% * +, "&- "(&. (# "/0(# 1(# "/!(# 1& 2(3/4+5

    ,-*.  * !"7/&-(.789:,;75 < ?.3 >(?!@3 DG &

    < $% >(?!@3 A, "!" "#!$ ## " % 0## 1## " % !## 1! 2#3 % 4B

    G $#++HC%, 3+'& # #$%&'(#& !" $'&' #4)%& # *16% (% 8'&'8)%&%+ ?3% 8#64-*'6 8#6 '$&-6%-&' %E$&%++/#; +%6 ',)%&'& ' 5%.649 ; 6'*)%*(# # +%=3*(# '&=36%*)# (' #$%&'./# C'2-#M

    $% * +, "&- "(&. (# "/0(# 1(# "/!(# 1& 2(3/4+5

    ,-*.  * !"7/&-(.775 < ?.3 >(?!@3 DG & $% ?Y( O(- /S!&"/1(4

    O' )'4%,' '4'-E# %+)/# '+ $&-*8-$'-+ #$.5%+ ?3% $#(%6 6#(-I-8'& # #$%&'(#& !" % +3'I3*./#9 P++-6 8#6# '+ #$.5%+ (% #; %,'+ +/# ,-+)'('+ (%$#-+ (' +%=3*(' +%?AB*8-'; %6?3',?3%& #&(%6M

    $!&'!( *6 !"7/&-(.789:,;7/015

    !"#$%&  #"()*& 

    1 Q%6#C% 8'&'8)%&%+ ?3% */# '$'&%8%6 *' +%=3*(' $'&)% (')&'*+,-)%&'./#9

    > Q%+3,)'(# 0 8#*F3*)# (% )#(#+ #+ 8'&'8)%&%+ ?3% */#'$'&%8%6 *' $&-6%-&' $'&)% (' )&'*+,-)%&'./#9

    # R#*C%&)% 61,)-$,'+ 8S$-'+ +%=3-('+ (% 36' ,%)&' *' +%=3*('

    T

  • 8/20/2019 Aplicações Web em CGI

    54/110

    !"#"$%&'%"$(& *"+ ,-."# /$."01.-% 2&3 45/  

    !"#$%&  #"()*& 

    "#$%& '& ()# %$#*+,-%&$#./0 10)0 ()# +23

     4 )&,50$ 60$)# '& -,(+%$#$ 0 6(*1-0*#)&*%0 '& !" 7 #%$#87+ '& &9&)",0+3 :0*+-'&$& #+&;(-*%& #.0-$6 <

    #$ & '( ")* "+), +- "./+- 0+- ".!+- 0) 1+2.3'4

     4 0"./0 0 &,-)-*# =(#-+=(&$ 1#$#1%&$&+ ,-+%#'0+ *# "$-)&-$# +&=>?*1-# =(& */0 %?)10$$&+"0*'&*%& *# +&;(*'#3 4@#-90A #"&*#+ .)*+, 10)@-*#3 B&) # 0"./0 0A # ,&%$# 5 +(@+%-%(-$-# 1#'# ,&%$# */0 &*10*%$#'#3

    !"6!"#$%/7089:;?@"-!ABCDE6FGH(5604 I.?.9. 7.".7!)")-

    I #$ .9+". 7+>!J2 '( &' (&) (  *( (  *( & 1(* 3'

    I K+- 7.".7!)")- .LE )C7)!+ A+9.*- 8+".2 )=*2*>.0+-M

     4 0"./0 7 10*+-'&$# 0 10)",&)&*%0 C# *&;#./0D '# "$-)&-$# +&=>?*1-# &) $&,#./0 #0(*-8&$+0 '& 1#$#1%&$&+ CEFGD '-+"0*H8&-+3

    !"6!+,6$64 I -)2 +?NO)-

    I #$ .9+". 7+>!J2 '( $$$ $$$$ $$ $$$$$ $$$ $$$$$ $$ 1$$$3'

    !"6!+,6$6-4 I-,/-!*!,* 7+2?=)2)>!+ K7.".7!)")- >P+ =*-!.0+-M

    I #$ .9+". 7+>!J2 '$$")*$"+),$+-$"./+-$0+-$".!+-$0)$$+2.$'

    I K!+0+- +- 7.".7!)")- !"#!$% '() K(Q1Q Q3M 8+".2 7+>A)"!*0+- )2 $

     4 0"./0 - -;*0$# $&"&%-.I&+ +(1&++-8#+ '& ()# )&+)# ,&%$#3

    !"6!"#$%6C64 I -)2 +?NO)-

    I #$ .9+". 7+>!J2 '( ".. "... C- "C/C- 0C- "C!C- 0C 1C2C3'

    #$ & '( ""# "$"% +- "./+- 0+- ".!+- 0) 1+2.3'4

    !"6!"#$%6C6/4 I *9>+". 7.".7!)")- ")?)!*0+-

    I #$ .9+". 7+>!J2 '( ". ". C- "C/C- 0C- "C!C- 0C 1C2C3'

    #$ & '( ")* "+), +- "./+- 0+- ".!+- 0) 1+2.3'4

    !"6!+,6C6/4 I *9>+". 7.".7!)")- ")?)!*0+-

    I #$ .9+". 7+>!J2 '( . . . . . . . 1.3'

    J "0++H8&, 6#K&$ +(@+%-%(-.I&+ +06-+%-1#'#+ 10)@-*#*'0 )#-+ '& ()# 0"./0<

    #$ & ',2 0+*- !"R- @,.!"+ 7*>7+3'4

    !"6.LEFLST36 6-/4 I -+2)>!) )-?.N+-Q *9>+". ")?)!*NO)-

    I #$ .9+". 7+>!J2 ',2 0+*- !" - @,.!"+ 7*>7+3'4 I R U )-!V )>!") .LE

    #$ & ',2 0+*- !"R- @,.!"+ 7*>7+3'4

    !"6.LEFLST3R6 6-1 4 I )=*2*>. !+0+- +- )-?.N+-I #$ .9+". 7+>!J2 ',20+*-!"R-@,.!"+7*>7+3'4

    7898::8 ;

  • 8/20/2019 Aplicações Web em CGI

    55/110

  • 8/20/2019 Aplicações Web em CGI

    56/110

    !"#"$%&'%"$(& *"+ ,-."# /$."01.-% 2&3 45/  

    "#$ %&'()*+,$ *-(#+,$ $%%+# .&- /0-1$ $) 2+#3 4$($ -%/$5$( $,*-%6 5)7-8%- &%$( )

    )5-($7)( !"#$!% .&- *$#'9# 5)7- %-( &%$7) 5$($ 7-:);:-( :$;)(6 $) 7-+)?

    &$' &)*+ ,

    !"#$!% -.-/

    0

    @ :$;)( 7- (-*)(,) ,>) 5(-/+%$ %-( -%/$;$(3 4)7- *$#'9# %-( :-*)(3

     A;1$% %&'()*+,$% 5)7-# (-.&-(-( 5$(B#-*()% 5$%%$7)% ,$ %&$ /0$#$7$3 "#$ ()*+,$

    7- %)#$ #$+% C*+; %-(+$ /0$#$7$ 7$ 2)(#$?

    1!"& 2 3&)*+&'()*+/

    @ $(1-,*) .&- %-1&- $ /0$#$7$ 7$ 2&,=>) 9 :-*)(3 D;- %-(E $&*)#$*+/$#-,*-

    $(#$F-,$7) ,) :-*)( 1;)'$; 453 G-,*() 7$ %&'()*+,$6 )% :$;)(-% 5$%%$7)% 5)7-# %-(

    (-/&5-($7)% ;-,7) )% :$;)(-% 7-%%- :-*)(?

    &$' &)*+ ,

    &-.) -/+ 0 123!"#$!% 16 . 17/

    0

    G-,*() 7$ %&'()*+,$6 45 9 ;)/$;3 A% )&*($% :$(+E:-+% 7-2+,+7$% 7-,*() 7$ %&'()*+,$6

    5)(9#6 ,>) %>)3 4$($ 7-/;$($( :$(+E:-+% /)#) ;)/$+% 9 5(-/+%) &%$( ) )5-($7)( ;)/$;3 A 2)(#$

    *H5+/$ 7- /),%*(&+( 2&,=I-% .&- (-/-'-# 5$(B#-*()% -# 6"0' 6 96 5)(*$,*)?

    &$' &)*+ ,

    456748169 179 4"6#!+&: 2 45/ ;16 " 17 &+?& 8>)*) 45:

    ; !") @+ A$%B

  • 8/20/2019 Aplicações Web em CGI

    57/110

    !"#$%&'( * + ,-.'

    !"#$%'(#)*+ -+ ./0! # $%&' ( ) * ) +,

    !"#$%'(#).112/0! # $%&' +)-).)///)+0)-,

    */0/1/ 234'3(%-5"6 "#$%&'( )$ %*)+,' $- ,-.'  )$.+/+)'( $- '01#'( 2#30+4'( 5')$- ($# +/%607)'( $- 0-

    5#',#2-2 0(2/)' 2 +/(1#089' 1234512: ;(($ #$%0#(' < $=1#$-2-$/1$ >1+6 52#2 2 )$.+/+89' )$?+?6+'1$%2( )$ (0?#'1+/2( $ 42#+@4$+( ,6'?2+( 30$ )$4$- ($# %'-52#1+6&2)2( 5'# -2+( )$ 0-5#',#2-2:

    A02630$# 5#',#2-2 $- ,-.'  5')$ ($# +/%607)' $- '01#' 0(2/)' 1234512: B 5#$%+('C5'#61+-2 6+/&2 )' %*)+,' +/%607)' %'/1$/&2 0- 426'# )$.+/+)' $ 5'(+1+4' D' 426'# <#$1'#/2)' 5$6' 1234512 E: "+5+%2-$/1$C '( 2#30+4'( 2 ($#$- +/%607)'( %'/(+(1$- )$ 0-2%'6$89' )$ (0?#'1+/2( D?6'%'( $46 7 /// 8 E: F$5'+( )2( (0?#'1+/2(C )$4$ &24$# -2+( 0-26+/&2 /' .+- )' 2#30+4'G

    +!

     H 6+/&2 2%+-2 < ' (0.+%+$/1$ 52#2 30$ ' 2#30+4' 5'((2 ($# 0(2)' %'-' ?+?6+'1$%2 $+-5'#12)' %'- 1234512G

    1234512 9656:5%/;:9!

    I2 )+(1#+?0+89' '#+,+/26 )' ,-.'  D)$()$ 2 4$#(9' JE &@ 4@#+2( ?+?6+'1$%2( 30$ 5')$- ($#+-5'#12)2( 0(2/)' 1234512: "+5+%2-$/1$C '( 2#30+4'( 1K- 2 $=1$/(9' /;: '0 /;

  • 8/20/2019 Aplicações Web em CGI

    58/110

    !"#"$%&'%"$(& *"+ ,-."# /$."01.-% 2&3 45/  

    676787 91$-:;'1.& "#$% &'(#)*(% (+,%-(. ')#) /&0)/,1)# ( (+-#),# -#(02&% *( 3. -(+-& .),% /&45&6 7%

    8349:(% !"#$% ( &!"#$% #(-). 3. 4;.(#& ,4*,0)4*& ) '&%,9?$40,) *( 0)#)0-(#(% *(4-#& *( 3. -(+-& .), 7 ;4,0) *,8(#(49) (4-#( )% *3)%

    8349:(% @ ) *(. (. >3( #()/,1). ) A3%0)6 !"#$% '#&03#) & -(+-& *& ,4=0,& )-@ & 8,. *) #.0-$?  ( &!"#$% 8)1 ) A3%0) 4& %(4-,*& 0&4-#B#,&6 7 %,4-)+( 5(#)/ @C

    '()* , !"#$%-'*.&/ '*01*.&!"234 5 )0 &!"#$%-'*.&/ '*01*.&!"234

    D 4;.(#& #(-)*& %(#B 3. E)/ ,4-(,#& .), &3 ,53)/ ) 1(#& ( .(4 >3( &0&.'#,.(4-& -&-)/ *) #.0-$? 6 F( ) #;+#.0-$?  43( '&*(#B %(# *,8(#(4-( 0)%& %(I) 3%)*& !"#$% &3 &!"#$% J6 K '&%%=E(/ ,4,0,)# )A3%0) ) ')#-,# *( 3.) '&%,93(#*& *) &'(#)93( & -(+-& %3A%-,-3=*&C'.$%.) , 8 -+("#.":! .)#: $*($&:";:/ < =0$ $".&:!*?84

    )*+),&-'.$%.)/ E/ Q3 , 8R$!%84 5 G P$.&:* ") P02:& #$ Q

    5 .$%.) A)".B@ 80$!%:! .)#: $*($&:";:/ < =0$ $",&:!*?84

    *01*.&-'.$%.)/ LM/ G3 , 8AS$284

    *01*.&-'.$%.)/ E/ G3 , 8T:**84

    OMPQ 

  • 8/20/2019 Aplicações Web em CGI

    59/110

    !"#$%&'( * + ,-.'

    !"#!$%&'$()$*+ -.+ ./0 1 23 4%35326

    7 $()$* 8*5$9: 2!"##3; $*1F 01$-

  • 8/20/2019 Aplicações Web em CGI

    60/110

    !"#"$%&'%"$(& *"+ ,-."# /$."01.-% 2&3 45/  

    "#$%"#&' ()*+,*)-).,/ "#& *&'0 $1&'-, +$'$ 2'$.$34,5 6 7,8& (, (&*9')-,' (& $'"#)., (&.& *&'

    , 8&*8, 7,8& (, :,'8$-,;

    !"#$ &'()*+'(,-./#0123#0456070.8 !! #$% &'() *+#% ,-$.- /)-0.1)&2 

    )*%3 4565789.#):;1 9,7*-'#)' & #-)%)A$' :,'8$-,*5 B -$1&%$ $1$)C,

    ,:&'&9& #8$ %)*-$ (,* +')79)+$)* ,+&'$(,'&* +$'$ $ (&:)7)34, (,* 9$8+,* (& #8 :,'8$-,5

    !"#$%&!$   ()*+,! iDDDD D&*&'.$ &*+$3, +$'$ E 9$'$9-&'&* $%)7F$(,* +&%$ &*"#&'($5

    iEEEE D&*&'.$ &*+$3, +$'$ E 9$'$9-&'&* $%)7F$(,* +&%$ ()'&)-$5

    i!!!! D&*&'.$ &*+$3, +$'$ E 9$'$9-&'&* $%)7F$(,* +&%, 9&7-',5

    iGGGG;GG D&*&'.$ &*+$3, +$'$ 9$8+, 7#8G')9, 9,8 E 9$*$* $7-&* (, +,7-, (&9)8$% &

    (#$* 9$*$* $+=* , +,7-,5

    ij D&*&'.$ &*+$3, +$'$ )7:,'8$34, "#& ,9#+$ 8H%-)+%$* %)7F$*5

    kDDDD9

    kEEEE9

    k!!!!

    D&*&'.$ &*+$3, +$'$ 9$8+,* +'&&79F)(,* I9$8+,* 8#%-)J%)7F$ 9,8 %$'2#'$*

    (&:)7)($*/5 K$($ %)7F$ (&.&'0 *&' *&2#)($ +,' #8$ %)7F$ 9,7-&7(, $ .$')0.&%

    &*9$%$' "#& 9,7-G8 ,* ($(,* I8&*8, '&+&-)($/5

    l L#+')8& #8$ %)7F$ &8 9$8+,* +'&&79F)(,* 9$*, &%$ *&M$ .$A)$5

    ll D&+&-& , H%-)8, :,'8$-, I9$8+,* +'&&79F)(,*/ 9$*, , -&C-, &C9&($ ,

    &*+$3, '&*&'.$(, +'&.)$8&7-&5

    ;  N&'8)7$ $ (&:)7)34, (& #8 :,'8$-, I*& *,A)7F, 7, )7O9), (& #8$ %)7F$/

    EJPQ 

  • 8/20/2019 Aplicações Web em CGI

    61/110

    !"#$%&'( * + ,-.'

    */0/ 123&'(4

    "#$%'( ,-.' 5 ) %*& +,#-%&-.* '('&+*.#'. (/,.#'&0& & 1/(2.0,*.#'(34 ,-.' *  ,#2+%,

    '(0( ( ,-.' 5 . &2/.32.#'& %*& #(5& .3'/%'%/& $%. 1./*,'. & 2(#3'/%67( 0. 1/(-/&*&3

    (/,.#'&0(3 & (89.'(3:

    ;89.'(3 1./*,'.* %*& *&,(/ /.%',+,./.2./ /.2%/3(3 3%>,2,.#'.3 &( 0.3.#5(+5,*.#'( 0. &1+,2&6C.3 DEF 'G1,2&3:

    H.3'& 3.67( &1/.3.#'&/.*(3 %*& 5,37( 3%1./>,2,&+ 0(3 *=0%+(3 0. 2+&33.3 I %* /.2%/3(

    (/,.#'&0( & (89.'(3 0( ,-.' * I 1(/$%. 37( J'.,3 #( 0.3.#5(+5,*.#'( 0. &1+,2&6C.3 .* ,-.'  

    *&,3 3(>,3',2&0&3 2(*( 6"%-7"84  0. &2.33( & 8(3 0. 0&0(3 (% 0. -./&67( 0. ,*&-.#34 2(*

    &1+,2&6C.3 #& K.8 &'/&5)3 0. DEF: LB/,(3 *=0%+(3 '&*8)* .3'7( 0,31(#G5.,3 1&/& &

    *,1%+&67( 0. 0&0(3 /.2.8,0(3 1(/ >(/*%+B/,(3 MNAO: ; (89.',5( 0.3'& 3.67( )4 1(/''(4*(3'/&/ 2(*( %',+,'"44-A=0%+(3 0. 2+&33. 37( &/$%,5(3 .31.2,&,3 P2@&*&0(3 0. #">(%-4  Q 2(#'.#0( 2=0,-( .* ,-.'  

    . $%. 0.5.* 3./ %3&0(3 1&/& ( &/*&(/#.2.#0( %*& +,3'& >,#,'&

    0. (1./&6C.3 $%. 1(0.* 3./ /.&+,,#,67( 0(3 *)'(0(3 0( (89.'( . %*& >%#67( .31.2,&+ 2@&*&0& 0. >(C4%.&%(. :

    ; 2(#3'/%'(/ ) %',+,,#,0&3 0.#'/( 0. *=0%+(3: A=0%+(3 1(0.* 2(#'./ 1&2('.3 (%3%81&2('.3 $%.4 1(/ 3%& 5.

  • 8/20/2019 Aplicações Web em CGI

    62/110

    !"#"$%&'%"$(& *"+ ,-."# /$."01.-% 2&3 45/  

    "# $%&'()# *+) #) &',$'-(%, &',' &.%##)# /)0), &'1()- 2+134)# ) &'1#(-+('-)# $%-% %&'1#(-+35' /) '67)('#8 9' &%#' /' ,:/+.' %&;,%< ' $%&'() /)2;1) +,% ;1#(-+35' !"# *+)2+1&;'1% &',' &'1#(-+('- => +,% &'10)135' &-;%- &'1#(-+('-)# &', )#() 1',)?8 @ ;1#(-+35'-)*+)- ' $%-A,)(-' $%!&'(()*+, =1',) /% &.%##) B '+(-% &'10)135'? #)C+;/' $).' 1',) /)+,% 2'1() /) /%/'# "DEF8 G%-% &-;%- +, 1'0' '67)(' &', )#(% &.%##)< $'-(%1('< > $-)&;#'

    2%H)-I

    -./0"1. 3 !"# $%!&'(()*+,45!.6"7*895:;

    D)$';# *+) +, '67)(' > &-;%/'< #)+# ,>('/'# $'/), #)- &J%,%/'#8 D;2)-)1(),)1() /'#,>('/'# /) &.%##) ='+ 2+134)#? &',' ' &'1#(-+('- !"#< %&;,%< '# ,>('/'# (K, *+) #)-&J%,%/'# ), -).%35' %' '67)(' %' *+%. $)-()1&),8 " '$)-%/'- +(;.;H%/' $%-% ;#(' > L1.?.45@ABC5D EED -@AB&:;

    -./0"1.!" 6"1.?.';

    "# '67)('# ), 6"0'  #5' /)#(-+N/'# %+(',%(;&%,)1() %(-%0># /) +, #;#(),% /) &'.)(% /)

    .;O'< $'-(%1('< ' $-'C-%,%/'- 15' $-)&;#% #) $-)'&+$%- ), /)#(-+;- '67)('# &-;%/'#8

    7898:8 4&3& ;#10 3('/'#< &.%##)# ) '67)('# /)2;1;/'# ), +, ,:/+.' %1()#

    /) +#QR.'8 S) ' ,:/+.' 2%H $%-() /% /;#(-;6+;35' '-;C;1%. /' 6"0' < /)0) J%0)- /'&+,)1(%35'/;#$'1N0). 1' /;-)(:-;' '1/) ' ;1()-$-)(%/'- 2'; ;1#(%.%/'8 T, '+(-'# &%#'#< % /'&+,)1(%35'/)0) %&',$%1J%- % /;#(-;6+;35' /' ,:/+.'8

     @ ;1#(%.%35' /) +, ,:/+.' =*+) 15' )#()7% /;#$'1N0). 1% /;#(-;6+;35' 6"0'  ? $'/) &'1#;#(;-/% #;,$.)# &:$;% /) +, %-*+;0' &', )O()1#5' FG6 $%-% +, #+6/;-)(:-;' /) H(-08-$#.1'1=>&IJG"AKJK%/J< /) 0Q-;'# '+(-'# %-*+;0'# '+ %(> /% &',$;.%35' /) %-*+;0'#8 P $-)&;#'&'1#+.(%- % /'&+,)1(%35' /) &%/% ,:/+.'8

    9% /;#(-;6+;35' '-;C;1%. /' 6"0' 7  =U8VVW? JQ 0Q-;'# ,:/+.'#8 X+;('# 2%H), % ,)#,%&';#% /) 2'-,%# /;2)-)1()#Y +1# #5' ,%;# 2Q&);# /) +#%-< ,%;# &',$.)('# '+ ,%;# )2;&;)1()# /'*+) '+(-'#8 9%# #+6#)34)# % #)C+;-< #5' %$-)#)1(%/'# %.C+1# ,:/+.'# Z();# $%-% '/)#)10'.0;,)1(' /) %$.;&%34)# F[\8

    7898?8 @

  • 8/20/2019 Aplicações Web em CGI

    63/110

    !"#$%&'( * + ,-.'

    "#$%"&'& ('& )*(%+'& ,-. /0123'& )0& 4 )%21' )02& 56$2+ (# %&0"7 80"0 2/&10+69+': ;0&10 $'!?9'(9'$'@*(A '(B'.*-C&9>D>E9E9>4

    567&$= !#/0+&'(#)&*"+",-.

    E )41'(' *C,2(3F?,+3GC'C (#$'(252$0 '& (0('& (# #/1"0(0 # '& "#1'"/0 #) %) 3#1'"

    0&&'$20123'7 ,0(0 30+'": (' !?9'(9'$'@*(A '(B'.*-C&9>D>E9E9>4

    F?,(C6M 5N(@ ;N(@2 2*"*($< I*,&9' 5N(@D > 8 >D 3*"*($435%67D >E9>4

    K

    *:;:*: =>-/#'( 6(/ @3'- A#'("? BCA7DE;FK'")%+6"2'& =%# %&0) ' #+#)#/1' LMN@ O&9*1' '@*(8>F&-(>= !?9'(9'$'@*(A '(B'.*-C&9>D>E9E9>4

    567&$=$%+&*/#%=+(#6;>6AE-&B?>< RR G&( >S&,('?,&? 9C? (B&2'(QE9>4

    567&$=$%+&!>"+'(#) ;>STU>

  • 8/20/2019 Aplicações Web em CGI

    64/110

    !"#"$%&'%"$(& *"+ ,-."# /$."01.-% 2&3 45/  

    !"#"$% ' ()*+,- !"#$%&'(#)&*"+"./0

    (12#+3 ' ("#"$%4512#+3560

    (789 ' ("#"$%45#:;:+?@ AB+% $ #:;3$#"JUIQ-

    JF$:2 #)@+$?'AFN>3A 21@I$"'AVWXGA %,-+.!%/0)12+3!"#+4'(#)5*"+"0-

    J>-Y+*+@1 %1< 12#+3 J+?>1'@1L@ ,")%/%)"32 %+Z1'Q[-JO:-

    7:;#6.)4 53 5#5)4 6) @$-A ? @) *-$(&B# A B 8$3.'4)

    &7'1'C#$ ) C2.-%"?"0'  D HHHN#)@+=1%@#@1N)$2 E )& (3$4F) .)/8#7G(31A %&3 8)44&' #19&64

    /=5&1)4 6#7'()4? H#$# #.344) ('# "IJK 3L'473 &/ /=5&1) 3/ I@@>DUUHHHN:$@IN?1@ 

    D.)/8#7G(31 .)/ ) C2.-%"?"0'  E? @3443 4'73A 8)53M43 >#'L#$ 7)5) ) /=5&1) "IJK 8#$# '647#1#NF)

    )& #836#4 )4 #$%&'()4 O2 .)/8'1#5)4 3 .)1).2M1)4 6)4 1&9#$34 #53%)4 D/#'4 02.'1E?

    "4 #$%&'()4 5) 8#.)73 4F) 5)'4: WY\]NV^ 3 WY\]NY__? " 8$'/3'$) 53(3 43$ .)8'#5)

    8#$# E3+OE`+?ab 5# '647#1#NF) C2.-%"?"0'  D3L: ! DE>1:3E3+OE`+?ab E? " #$%&'() WY\]NV__ 

    53(3 43$ .)8'#5) 8#$# E3+OE7

    O37) ("#"$% E:

    SMTU 

  • 8/20/2019 Aplicações Web em CGI

    65/110

    !"#$%&'( * + ,-.'

    !"#"$% ' !"# %&!'())*+,-()*#+#,$-./01#20)34

     "#$% '( )*#+) (,-.)+ '($/)+)01(2 345 6 -#,7)'( )7+)-82 '# #9:(7# ;

  • 8/20/2019 Aplicações Web em CGI

    66/110

    !"#"$%&'%"$(& *"+ ,-."# /$."01.-% 2&3 45/  

    !"#$%&'()*&+,+-. 0 1234 566*78

    !"#$%19:;

  • 8/20/2019 Aplicações Web em CGI

    67/110

    !"#$%&'( * + ,-.'

    !"# #"!%&'"()

    *

    +!,- . /01213' 4 5678 &9"9%:)!;/;

    "#$% & '(#)#*#+$,/; < =!>= ? ) 9)@= (& A)9>= (= (&()! () !:!>=@& 

    +#( . 9=B C:9DEFF7GH3I+(!9J;

    +#(KL0,-I+!,-J;

    MN:9> /O>-= #)N(=N.PL/;

    BQ:-= I+#(KL5=>%Q6)BIJJ

    *

    RN=S:!>N)! . +#(KLG&>&I/9"@=N)/T /(&>&/T />=U>)/T /&">)N/J;

    MN:9> /O>N V&-:S9.>)ML/;

    MN:9> /O>(L+N=S:!>N)!WXYOZ>(L/;

    MN:9> /O>(L+N=S:!>N)!WPYOZ>(L/;

    MN:9> /O>(LOMN=L+N=S:!>N)!WEYOZMN=LOZ>(L/;

    MN:9> /O>(L+N=S:!>N)!WDYOZ>(L/;

    MN:9> /OZ>NL/;

    [

    MN:9> /OZ>-=L/;

    +#(KL3-)!=IJ;

    [

     "#$% &'()&* #+#,-.&*/ 0&, %0#**& 0&,-.#(&/ %('%.12%34&/ 15*#)34&/ )#,&34& # 6'*0%

    5#*(% 6%*#/ 5& 71*8'#(# 8'# %0&,-%59% #*(% %-&*(1.%:

    */0/12/ 345&'( 6.789:( ;<; ,"6-.  

    E ,,3  J 7& F:%9G-,-.' : M*(%57& 0&5#0(%7& N F5(#)5#(/ )&7# ,,3  #/ 8'%57& & -)&,-( O]]8LP

    %-%)#0#)/ 71=1(# O:9!>&-- ^GP # %='%)7# '5* Q ,15'(&* E#58'%5(& #.# ?%2 7&R5.&%7 7&*

    %)8'1H&*J: A#-&1* 7# 15*(%.%7&/ )&7# &* -)&=)%,%* 7# (#*(#: "&0S -&7# '*%) % 616.1&(#0%

    150.'157& 5& *#' -)&=)%,% % 7#0.%)%34&T

    "!= ^G;

    A#-&1*/ 0)1# ', &6$#(& _@&S=/ 5)9> &' ])-`S)9 # 09%,# *#'* ,B(&7&* %()%HB* 7#.#:

    */0/11/ HIJ-%( KD"6-

    ^GFF-(*./ 

    QKUV 

  • 8/20/2019 Aplicações Web em CGI

    68/110

    !"#"$%&'%"$(& *"+ ,-."# /$."01.-% 2&3 45/  

    " #$% &'%(() *#) +),$-.) % &,-%/01 2) #$ 134).1 %.,%56( 21 *#%' +12)7() $%8-+#'%, 1(2%21( 2) #$% -$%9)$ ) &:%$%, $6.121( 2) 2)()8:1 ) .,%8(;1,$%/01< = 134).1 6 &,-%21%.,%56( 21 &18(.,#.1, >$6.121 2) &'%(()? !"#@

    $%&'("& * !"# %&''()*+",-./ -.01

    $%&'("&+,-"./'!(0"12323423423 $%&+,.505-6005.'/"1232378899:

     A)4% #$ )B)$+'1 2) &,-%/01 ) )B-3-/01 2) #$% -$%9)$ >  61$71' (& 5!  ?@

    ;?-=05.'0=@%!=A"-0

    >?" BC:

    ; .-"'/" ' !"# %&'("

    $%& * !"# BCDDE&'("1F223F229:

    ; '005.'/" ?5&" .505-?

    $#G%/" * $%&+,.505-6005.'/"1788378837889:

    $@0'.H * $%&+,.505-6005.'/"1232329:$-"I * $%&+,.505-6005.'/"178832329:

    $@0>" * $%&+,.505-6005.'/"123237889:

    ; &'H" /G" @'.H(-5>!I /-'!?A'-"!/ '!I %!/"-0'."I

    $%&+,/-'!?A'-"!/1$#G%/"9:

    $%&+,%!/"-0'."I1J/->"J9:

    ; A>/ ' @0'.H K-'&" '-5>!I /G" A%./>-"

    $%&+,-"./'!(0"12323LL3LL3$@0'.H9:

    ; C-'# ' @0>" 5M'0

    $%&+,'-.1823823L83N8323OP23$@0>"9:

    ; 6!I K%00 %/ #%/G -"I

    $%&+,K%001823823$-"I9:

    ; Q5!M"-/ /G" %&'(" /5 RSB '!I A-%!/ %/ 5! ?/'!I'-I 5>/A>/

    A-%!/ $%&+,A!(:

    89:9;".& ?&'@A&$

    BCDD2345+3! 

    C'%(() #(%2% +%,% &,-%, #$ +1'D9181< =( $6.121( *#) +12)$ (), &:%$%21( % +%,.-, 21134).1 +),$-.)$ %&,)(&)8.%, ) ,)$15), 56,.-&)( ) ,)%'-E%, 1#.,%( .,%8(;1,$%/F)(<

    $A50T * !"# %&''2345+3!:

    $A50T+,'IIR/182329:

    $A50T+,'IIR/1LL3LL9:

    $A50T+,'IIR/123LL9:

    G7HI 

  • 8/20/2019 Aplicações Web em CGI

    69/110

    !"#$%&'( * + ,-.'

    */0/12/ 345-%( 6(7%

    !"##!"#$ 

    "#$%%& '%$($ )$*$ +*,$* -./$% 0.-1&%2

    */0/18/ !(79%.&%(. 7-:6.(; ?;@%(A( A- B'"99-C3%1& +.-%1*'1.* +*,$ '4$ ,4$5&4 64$-,)'#7/ (&-1*. (& '4 )*.5*$4$8 $1*$/9% (& '4$

    ,4$5&4 :;< &=,%1&-1&> )$%%$($ $1*$/9% (& '4 (&%+*,1.* (& $*?',/. )*&/,$4&-1& $@&*1. )$*$ '4

    $*?',/. :;< /7#,(.2 34 +$%. (& %'+&%%.> . +.-%1*'1.* *&1.*-$ $ ,4$5&4 +.4. '4 .@A&1.2 34

    +$%. (& 0$#B$> *&1.*-$ $%&'(2

    )*'% ,-./-012&$343%534678(29 :: &8' 2; 7&05Q>'& &

    7&05Q>'&P@$4H'&2 HI-;#'(9 L

    C88%',O1O1RLO1RLO17&P@$4H'&9B

    C88%',O1RLO1RLO1O1C>)F35',KLL1O1O99B

    $(!'&+,#(

    !"##;

  • 8/20/2019 Aplicações Web em CGI

    70/110

    !"#"$%&'%"$(& *"+ ,-."# /$."01.-% 2&3 45/  

    !"##$%&$'()*+#$

    !"##$%&'(##!"##$%&$'()*+#$) !"*  #"*  !$*  #$* %&' , 

    "#$$%&'$ () #$*+%,(-. %/ &.# $01$&232&/4/5 60 1.%*.0 7 678 97 8 $ 7 6:8 9:  8 &.##$01.%4$)/.0 &/%*.0 0(1$#2.# $09($#4. $ 2%3$#2.# 42#$2*.: #$01$&*2;/)$%*$5 ".4$*.4. 4(5627(),5 6 1/4#=. 7 .-'"  8 /*(/-1.4$ 0$# /*#2?(@4. /. 4$0$%'. &.) / A&.#B #$0$#;/4/ '8627(85 CD$)1-.E

    19(-)!$/*:52;1714

    ?%A$%&'(BC4(5627()?527(,>

    ?%A$%&'(BC3277(8D(E5&-'7()FG*FG*FHG*IGG*'8627(8,>

     -.#/+.*

    !"##$%&'(## ,-#.+-*) (&)*+&,&* %&' , 

    F$0$%'/ () 1.-@,.%. %/ &.# $01$&232&/4/5 G 1#$&20.: /%*$0 4$ 4$0$%'H

    ?917ABC&88J5)HG*G,>

    ?917ABC&88J5)OO*OO,>

    ?917ABC&88J5)G*OO,>

    ?2%BC917A'1-)?917A*?P7L(,>

    !"##$%0.#/+.*

    !"##$%&'(##!"##$%/-#.+-*) (&)*+&,&* %&' , 

    F$0$%'/ $ 1#$$%&'$ . 1.-@,.%. &.) / &.# $01$&232&/4/5 ".4$01 : 1'.>01  8 $01$&232&/) //-*(#/ $ -/#,(#/5 6 -$?2-& $ . @-3  0=. 4$32%24.0 $) ,#/(0 4$ M / NOM5 P$#. > / 1/#*$ )/20

    Q

  • 8/20/2019 Aplicações Web em CGI

    71/110

    !"#$%&'( * + ,-.'

    "#$" %& '#()*'+ ,&-'.$" /012 3 " )"4$' 5"(* 6 %(4'($"+ 7"4" %'*'.8"4 9:49;#&*< ;*' (.:9(& '5

    1< =(5 '5 >?1 ' -"#&4'* (@;"(* )"4" "#$;4" ' #"4@;4"+ 7&%'A*' ;*"4 9&4'* 4'"(* &; "* 9&4'*

    '*)'9("(* !"#$%&'("< !")*+,(" ' !")*+,("#$%&'("+ /0-1#'(B

    -./012$3456675667867867675967-:,%(;<

    !"##

    >?@@A/2!(@@!"##4" 7 # 7 $%&%' ; 

    74''.98' ;5" 4'@(C& ." 9&4 '*)'9(=(9"%"+ D;.9(&." 9&5& " ='44"5'.$" EF"#%' %' $(.$"G

    .&* ")#(9"$(-&* %' %'*'.8&+ H )(.$;4" 9&5'I" ." &4(@'5 / 02 3  2 ' )J4" #&@& K;' '.9&.$4"

    ;5 )(L'# %' &;$4" 9&4+ 7&%'A*' ;*"4 9&4'* .&45"(* &; !"B.,("+ /0-1#'(B

    -./01$(3*2C!,(456756756675667-:,23D;<

    -./01E.,,4867867-:,%(;<

    !"##%&'&()*(  

    >?@@A/2!(@@!"##$%&%'()'4" 7 # 7 $%'()*(+%')*7 $%'()%(,'--.$/01-.2%;

    M&5& E.,,< '*$' 53$&%& )4''.98' ;5" J4'" 9&5 " 9&4 '*)'9(=(9"%" 5"* )'45($' K;' *'

    %'=(." &;$4" 9&4 )"4" " F&4%"+ H F&4%" *N )&%' ;*"4 ;5" 9&4 .&45"# /.C& )&%' ;*"4 "*

    9&4'* '*)'9("(*2+ O )4''.98(5'.$& )&%' *'4 ;5" 9&4 .&45"# &; !"B.,("+ /0-1#'(B

    -./01$(3*2C!,(456756756675667-$(";<

    -./01E.,,BF#F$"($4867867-:,23D7-:,%(;< G :F$"2 &($H 2I%,

    +,("-.

    >?@@A/2!(@@*+'",-43%.27 " 7 # 7 42'0.5 7 $%' ; 

    P*$' 53$&%& %'*'.8" ;5" 4%.567  ." )&*(IC& / 023  2 ;$(#(Q".%& =&.$' ' 9&4 '*)'9(=(9"%"*+ RJ

    K;"$4& =&.$'* %(='4'.$'* K;' )&%'5 *'4 ;*"%"*B !")/2,,JFC*< !"K(".%/#F,"JFC*<

    !"B.C+JFC* ' !"L2$!(JFC*+ /0-1#'(B

    -./01&*$.C!4!")/2,,JFC*7M7567NA/2!(/ O2,( 5666 P2,2O$2&N7 -/2!(C*2;<

     /-.  8(& ."!  9

    >?@@A/2!(@@-"! 

    S'$&4." & 9N%(@& /$'L$&2 %" (5"@'5 '5 =&45"$& 7,T / ,(.%":'- ;-%."#?5@4  2 &;

    TUD / >."#?5@4 A1"7- B(.1"%  2+ H)'."* ;5 %&* =&45"$&* '*$J %(*)&.:-'# %')'.%'.%& %"

     -'4*C& %& TV ;$(#(Q"%"+ H* -'4*W'* 5"(* .&-"* *;)&4$"5 ")'."* 7,T ;5" -'Q K;' &

    =&45"$& TUD "@&4" 3 )4&)4('$J4(&+

    -./2!(/QR> S -./01PC!<

    P$.C* -./2!(/QR><

    M&.*;#$' 5".;"# %& TV )"4" &;$4&* 53$&%&* ' 53$&%&* %&* &FX'$&* QF,+!FC ' JFC*+

    YAZY 

  • 8/20/2019 Aplicações Web em CGI

    72/110

    !"#"$%&'%"$(& *"+ ,-."# /$."01.-% 2&3 45/  

    "#$% 

    6787 9":"0;$2-1#

    &' ()*+), -./0)123'

  • 8/20/2019 Aplicações Web em CGI

    73/110

    !"#$%&'( !  *  "#$%&'($)*+ +,,-

    ./ 0&12"341%(5 +,,-

    " #$"%"&"'" (%%# )*+,-,./ 0/ 12 )*+31+.* 0/ )*24+0*,5 )60-7*, / 89*)/0-2/+.*, :1/7494+./2 4 )*21+-)4;,/9 / 12 ,/9?-0*9 @/=A #494 0/,/+?*B?/9 89*79424,1,4+0* &CD5 /2 :14B:1/9 B-+7147/25 E /,,/+)-4B )*+F/)/9 *, G1+042/+.*, 0* 89*.*)*B*(%%# H (I8/9./J. %94+,G/9 #9*.*)*BA K,./ E * *=3/.-?* 0/,./ )48L.1B*A

    ./6/ 7 8&4 9 +,,-(%%# ,-7+-G-)4 (I8/9./J. %94+,G/9 #9*.*)*BA M * 89-+)-84B 89*.*)*B* 1.-B-N40* +4, )*O

    21+-)4;P/, +4 D+./9+/. / * 89*.*)*B* :1/ 0Q ,1,./+.4;

  • 8/20/2019 Aplicações Web em CGI

    74/110

    !"#$%&'( !  *  "#$%&'($)*+ +,,-

    !"#$#%$ "' ($)'(*" +',%-+./-01 2 +3%"/" 4556 '*0/" #$*%$ %-!" ($7'-*-89" 3 " +3%"/" !"# 

    7'$: 0,3+ /$ ($7'-*-%0( !;$* "' ($*!"*%0*1 D* ($7'-*-8>$*

    *9" ="(+0/0* $ $#?-0/0* !"( '+ ),-$#%$ 45561 D* ($*!"*%0* *9" ($%"(#0/0* !"( '+ *$(?-/"(1

     D !"(%0 /$ )"+'#-)08>$* "#/$ " *$(?-/"( 0$* 3: !"( /$=0',%: 0 !"(%0 KL1 M$

    "'%(0 !"(%0 ="( '%-,-J0/0: $,0 /$?$(; )"#*%0( /0 ($7'-*-89"1

    ./0/ 123&4546725 +,,- 2 89%(:( ;$* /" *$(?-/"(1 D $*!$)-=-)089"

    NOPQT " /$=-#$ )"+" '+ +3%"/" *$@?7 $##'JKLK

    $4N59QLD31= ,")0,-J0/" #0 (0-J /$ /")'+$#%"*1 D ($7'-*-89" 0)-+0 #"(+0,+$#%$ )"#C

    %3+ ?;(-0* "'%(0* ,-#U0* /$ )0B$80,U" 0#%$* /0 ,-#U0 $+ B(0#)"1 DB0-@" $*%; '+0 ($7'-*-89"

    !0(0 B'*)0( 0 !;N59QLD31=: ="(+0/0 0" *$ ),-)0( $+ '+ ,-#^ #" _-)("*"=% `#%$(#$% a@C

    !,"($(G

    SCR

  • 8/20/2019 Aplicações Web em CGI

    75/110

    !"#$%&'( !  *  "#$%&'($)*+ +,,-

    !"# "#$%&'()*+, -../"0(0

    12&3456&$*7 89:#,,; ?9+@;*#A,&B 8CDE >_ "'1,-' -'",+.0'7 8 -'",+"/% ,+0'

    $+."5"/5- 0' 31% 1'."%9'1 0' '--+M 0' -'05-'(6+ +3 0' "3$'""+7 8 "5./%L' 0%" -'",+"/%" 2?

    OP&32Q9 -../R O?S%#69 %& 2*;*N2R O#$K93+;TU&2 %& 2*;*N2R

    O?;A&T;,)92 K93+;*9 VWXIYYR

    O%;%92R

    ! $]059+ 0' "/%/3" 2 31 .\1'-+ 0' /-X" 0`95/+" 43' ,+0' /'- % @+-1% 0''M Y''M Z''M

  • 8/20/2019 Aplicações Web em CGI

    76/110

    !"#$%&'( !  *  "#$%&'($)*+ +,,-

    !"#$%&&'( *+, ! # $%&'($ )*$ +$,' -'. ')/01,$2 3*$ 1,01)(1 ('. 14($.0516*$2

    -". /"0(& *+* ! # -'./0,$. )*$ ')7$)(.$4 )1,1 84' 7$9%0)1--' 7$9 1 :;< 84' .'=

    7'%'42

    1(.'#(23 4##"# 5++ ! >..$ 0)('.)$

    -". %673'6'(.'& 5+8 ! ;'74.-$ )*$ 09+?'9')(1,$  9":'& ,+8 ! 1 0)@$.916*$ -' 94,$4 +1.1 $4(.$ ?4A1.2 B .'-+$-(1 7$)(C9 1 )$/1 :;<

    ,$ .'74.-$2

    -". 9"&%/%'& ,+* ; 1 +DA0)1 )*$ @$0 9$,0@071,1 ,'-,' $ E?(09$ 17'--$2 ;'74+'.'=1 ,$

    717F'2 

    G$. 'H'9+?$I 491 .'-+$-(1 0)0701),$ '9J

    !""# %&' ('( )*+ ,*-./

    -'.D ')/01,1 1$ %.$K-'. 71-$ $ -'./0,$. )*$ 7$)-0A1 1('),'. L .'840-06*$ ,$ %.$K-'. +$.

    )*$ ')7$)(.1. $ .'74.-$ -$?070(1,$I $4

    !""# %&' 0'' 12

    '9 71-$ ,' -47'--$2

    M$9$ .'-+$-(1 L .'840-06*$ 34" 17091 N-'6*$ 1)('.0$.OI $ -'./0,$. +$,'.01 ('. .'($.)1,$J

    !""#5%&' 0'' 12

    678978: )7+;7?,=;+"8=

  • 8/20/2019 Aplicações Web em CGI

    77/110

    !"#$%&'( !  *  "#$%&'($)*+ +,,-

    !" $%&'(%)*+" ,-' + "'./01+. 1'/+)/' %+ $)0'23' .'4'.'56"' % 7.+7.0'1%1'" 1+ +&8'3+ .'6

    3+.2%1+ 5%0" 024+.5%(9'" 1' %5&0'23': ; 5%0+.0% 1')'" "

  • 8/20/2019 Aplicações Web em CGI

    78/110

    !"#$%&'( !  *  "#$%&'($)*+ +,,-

    !"#$ &' &()*+',-(. / ! 0 &' *+ .'!1#&(! 2'3 !(&",&( '+ 2#,&(4. 5 "#$%&'()%*$")++,'( '( 3!(4.'! .(6#)#-"!

    !"# !./012345/1 6778!94:

    ( .'!1#&(! &'1(61'!78

    6778!94: ;:: )<

    *=0>=0# "202?@A=B=C02!94:

    (23=# +/?D E F2? 9GGG ;9#9:#HH I+7

    "/?3=?3J3KL=# 2LLMC523C/?!NJ1OP/Q?M/2P

    "/?3=?3JM=?@3R# E9S:E

    T2O3J1/PC.C=P# *23D ;E ,A@ 9GGS 99#99#:: I+7

    U V"/?>=03=P +WN X & YY Z [444\

    ./0/ 12%(3( +456

    9 +5-(&( 6],( 5 .'+'6:",-' "( +5-(&( I]7; < =,#)" >'!',?" ',-!' '6'. 5 " !'.@(.-"&( .'!1#&(!; 9 .'!1#&(! A*' !')'3' 6],(B !'-(!," ( )"3'?"6:( )(+@6'-( &(. &"&(. !'A*'!#&(.+". ,C( !'-(!," (. &"&(.;

    6],( 5 ,(!+"6+',-' *."&" @"!" 1'!#>#)"! " &"-" &' =6-#+" +(>#)"?C( &( "!A*#1(B ( -"D+",:( &( "!A*#1(B -#@( &(. &"&(.B '-); @"!" >#,. &' (-#+#$"?C( &" -!",.>'!E,)#" (* F'!',)#"D+',-( &' )"):' (* @!(GH;

    ././ 47%89:;8: +,,-

     < +"#(! @"!-' &". !'A*#.#?I'. &' *+ 3!(4.'! F'!"6+',-' .C( @"!" !')*@'!"! "6F*+ !'D)*!.( ,( .'!1#&(!; J. 1'$'.B @(!5+B ( )6#',-' A*'! A*' ( .'!1#&(! 'G')*-' *+ @!(F!"+"; K@!')#.( A*' ( .'!1#&(! '.-'L" )(,>#F*!"&( @"!" #&',-#>#)"! ( A*' ( )6#',-' A*'! " @"!-#! &" MNO&" !'A*#.#?C(; M+ .'!1#&(! A*' .*@(!-' PQRB @(! 'G'+@6(B @(&' #&',-#>#)"! *+ @'&( &' 'G'D)*?C( .' " MNO .(6#)#-" *+ !')*!.( )(,-#&( '+ *+ !'-S!#( '.@')#"68

    I]7 $%&'()'*$./012345/1 6778!94:

    "A*# ):"+"&( &' PQRDTRU; V'.-" 1'$B ( @!(F!"+" .'!7 'G')*-"&( ," +7A*#," .'!1#&(!" ' "."W&" &( @!(F!"+" @(&'!7 .'! !'-(!,"&" @"!" ( )6#',-';

     < 'G-',.C( &' *+ "!A*#1( -"+35+ 5 >!'AX',-'+',-' *."&" @'6( .'!1#&(! @"!" .-#,F*#!

    *+ !')*!.( '.-7-#)( &' *+ !')*!.( 'G')*-71'6; Y+ .'!1#&(!'. Z#)!(.(>- RR[8I]7 $+,-+./012 6778!94:

    >"!7 )(+ A*' ( .'!1#&(! -',-' #,-'!@!'-"! )(+",&(. '.@')#"#. ," @7F#," \]ZO 3=N3/42OL '',1#' ( !'.*6-"&( @"!" ( 3!(4.'!;

    ^!'AX',-'+',-'B *+ @!(F!"+" ,( .'!1#&(! !'A*'! @"!_+'-!(. ',1#"&(. @'6( )6#',-' @"!"@(&'! 'G')*-"! )(!!'-"+',-'; ](+' @(! 'G'+@6( *+ )(,-"&(! A*' @!')#." ."3'! ( ,(+' &(

    `D`

  • 8/20/2019 Aplicações Web em CGI

    79/110

    !"#$%&'( !  *  "#$%&'($)*+ +,,-

    !"#$%&' ')*+ !",!-+)!" ! .')/!0+,1 2 3%)4! *+ %)5'",!67+8 #$+ 8+0$+ ! 9!: +, $,! ;!88!" >!"@A

    ,+/"'81 2 "+#$%8%6B' !' .')/!*'" >'*+"%! 8+" *! 5'",!C

    "#$ &'()*+,-&'./0123-!!"#$%&'()*+* 4$$5&627

    D >"'0"!,! +, E+"3 './0123- 8+"F +)/B' +G+.$/!*' >+3' 8+"&%*'" "+.+H+)*' ' >!"@,+A/"' 89:;3(1 .',' !"0$,+)/'1

    6787 9:%(;( -!"! +)&%!" *!*'8 !' 8+"&%*'" *$"!)/+ $,! "+#$%8%6B'1 D !3&'

    *! "+#$%8%6B' *+&+ 8+" $, !0+)/+ .!>!- *+ "+!3%-!" !30$,! .'%8! .', '8 *!*'8 "+.+H%*'81 2

    ;3+8,+)/+ "+/'")!" $,! %,!0+, '$ >F0%)!1

    5?@$ ? %)*%.!*' >!"! +)&%!" 0"!)*+8 #$!)/%*!*+8 *+ *!*'8 !' 8+"&%*'" JF #$+ )B' ? 3%,%A

    /!*' .',' ' .&/01 2%0345  $8!*' >!"! +)&%!" %)5'",!67+8 &%! "#$1 D ,?/'*' 5?@$ )B' >"+.%8!8+" 8+0$"' '$ %*+,>'/+)/+1 E'*+ >"'&'.!" !3/+"!67+8 )'8 *!*'8 + *$!8 "+#$%8%67+8 )B' >"+.%A

    8!, "+/'")!" '8 ,+8,'8 *!*'81

     K+J! $, +G+,>3' .', ' .')/!*'" ,'8/"!*' !)/+"%'",+)/+1 L+ ' H"'M8+" +)&%!88+ $,!

    "+#$%8%6B' 5?@$ +, &+- *+ "#$ '8 *!*'8 8+"%!, +)&%!*'8 *! 8+0$%)/+ ,!)+%"!C

    -./0 &'()*+,-&'./0123- 4$$5&627

    A.01B01*1C3BD 1B>1&3-8)0

    A.01B01*-B0(1,D 6E

    89:;3(1

    N!8 ' H"'M8+" )B' $8! 5?@$ ! )B' 8+" #$+ 8+J! %)8/"$O*' ! 5!-PA3'1 2 5'",! ,!%8 .'A

    ,$, *+ 5!-+" %8/'I ? $8!" 5'",$3F"%'8 QRN=I !>"+8+)/!*'8 8$>+"5%.%!3,+)/+ )! >"SG%,! 8+A

    6B'1

    67=7 >?/0@$@3(A

    T1U V')+./+A8+ &%! /+3)+/ W >'"/! *' 8+"&%*'" X+H %)8/!3!*' +, #$!3#$+" 8+"&%*'"1 Y%0%/+

    '8 .',!)*'8 Z[R + EDLR .',' ,'8/"!*'8 )'8 +G+,>3'8 !.%,!1 K+J! !8 "+8>'8/!8

    "+/'")!*!8 >+3' 8+"&%*'"1 L+ #$%8+"I *+5%)! !30$)8 .!H+6!34'81 \$!)*' &'.P %,>"%,%"

    *$!8 )'&!8A3%)4!8I ' >+*%*' 8+"F +)&%!*'1 ='0' #$+ ' 8+"&%*'" !/+)*+" !' 8+$ >+*%*'I

    +3+ *+8.')+./!"F1

    ]A^

  • 8/20/2019 Aplicações Web em CGI

    80/110

    !"#$%&'( !  *  " +,%-./"0- !1+

    23 4 +,%-./"0- !1+

    !"# % &' ()*+,-. ./)*)0,1. 2)3. ()*+,1.*4 5 &'6 )78)9(:. 6. ()*+,-. ;

  • 8/20/2019 Aplicações Web em CGI

    81/110

    !"#$%&'( !  *  " +,%-./"0- !1+

    !"#$%& (&) *$+,#%&- ".#)/ & 012&%& !"#$ #& )*!",.,2#) # *3*4"56& %* %&'()*(+%*,-./. #&

    .*)+,%&)7 8* & #2),9"2& 12$3"4 (&) &0,2,%&- # )*!",.,56& .*)/ )*#:,;#%# ".#$%& & 012&%& 52$7

  • 8/20/2019 Aplicações Web em CGI

    82/110

    !"#$%&'( !  *  " +,%-./"0- !1+

    !"#$%&"'()"*+,*-./0,!.+,+$%1)!2"3%4$//"5 7889:;> '#+ +&3+ 4,.,4%&.&+ &2368,/&'%&+

    4#'8&.%&. C*D &0 &+5,(#

    +&5,.,. #+ 5,.&+ '#0&E8,/#. 5&/# C?D

    6*&'%6:64,.7 5,., 4,*, 5,. '#0&E8,/#.7 # '#0& FG &+23&.*, *# CHDI & # 8,/#. FG *6>

    .&6%,I & 0#'%,. 30, ,++#46,()# 23& 5&.06%, #$%&. # 8,/#. , 5,.%6. *# '#0&?

    J#0 #+ *,*#+ #$%6*#+7 # 5.#-.,0, JKL 5#*& .&,/6

    5/#7 6'646,. 30, #3%., ,5/64,()#7 0#'%,. 30, .&236+6()# MNO 5,., &'86# , 30 $,'4# *& *,*#+7

    .&435&.,()# *& 30, 60,-&0 *& 30 *6+5#+6%68# &9%&.'#? P# :6',/7 *&8& .&%#.',. 5,., # 4/6&'%&

    30, 60,-&07 30, 5=-6', #3 #3%., +&2QR'46, *& $S%&+ 23,/23&.? T +&.86*#. ')# %&0 4#0#+,$&. # %65# *, +&2QR'46, *& $S%&+ 5,., 0#'%,. # 4,$&(,/B# 5,., # 4/6&'%& &'%)# *&69,># 6'>

    4#05/&%# 5,., 23& +&U, 4#05/&%,*# 5&/# 5.#-.,0, JKL?

    T 5.#-.,0, 5.&46+, &'%)# 605.606. ', +3, +,V*, '# 0V'60#@

    4,$&(,/B# C@"!A$!ABA4C$D7 6':#.0,'*# # %65# *& *,*#+ &'86,*#+ *& 8#/%, ,# +&.>

     86*#.

    30, /6'B, &0 $.,'4#7 6'*64,'*# # :60 *# 4,$&(,/B#

    #+ *,*#+?

    M35#'*# 23& # 5.#-.,0, JKL +&U, &+4.6%# &0 J7 5,., 605.606. 30, 0&'+,-&0 &0

    WXYO 4#0 # %&9%# CW&//# JKL Z#./*D &0 .&+5#+%, , 30, .&236+6()# *& 30 $.#[+&.7 &/&

    4#'%&.6, ,+ /6'B,+@

    C3.!ADEF@"!A$!ABA4C$G A$HA:>A#/"#FIJ :K "LM$30$ " NO!P $HA3,Q K:

    C3.!ADEFR>A#/SRL"+4SR>;S7$//" @TU V"3/+R:>;SR:L"+4SR:>A#/SFIJ

    2343 5".678-69 :- ;

    '6*,+ 5&/# +&.86*#. & 5&/# +6+%&0,? X#*,+ %R0 30 &+4#5# *&:6'6*# 5&/# +6+%&0,7 +&.86*#.7 ,5/6>

    4,()#7 4/6&'%& #3 .&236+6()#? !+ 5.6'465,6+ 8,.6=8&6+ *& ,0$6&'%& +35#.%,*,+ 5&/, 0,6#.6, *#++&.86*#.&+ +)#@

    !"#$"#%!&'()*#"

    T '#0& & , 8&.+)# *# +#:%[,.& *# +&.86*#. 23& .&+5#'*& ,# 5&*6*#?

    \#.0,%#@ '#0&E8&.+)#

    ]9&05/#@ J]^PE_?`

    a>b`

  • 8/20/2019 Aplicações Web em CGI

    83/110

    !"#$%&'( !  *  " +,%-./"0- !1+

    !"#$"#%&'(" 

    " #$%& '( %)*+,#( $#'& -$'( $ .&-/,'$-0 $ (1,(. 2340 $+ $ '&-&5$ 678

    )'*"+',%-&*"#.'/" 

     9 #:%&-$ '( -&/,.;$ '( &.,=(5;$ ?@6 *+& $ .&-/,'$- +A,1,B(8

    C$-%(A$D ?@6E-&/,.;$/0&*"&*%1"&)*2 

    " =$%$-%(A$ @-&R,=J L&(# F,%&88

    1'!*%(05-.-"5

    2(A( '( :1A,%( %$',>,=(5;$ '$ '$=+%A$8

    2**3%/007-"

    6#>$-%(5;$ (-%(B('( &% +% ?$$S,&8

    2**3%'//"3*

     F,

  • 8/20/2019 Aplicações Web em CGI

    84/110

    !"#$%&'( !  *  " +,%-./"0- !1+

    !"#$%&'()

    !"#$%&'()$ +,-%' .+ /'&0"1$ 2.+ 345.0%+-6%0$378 /$&$ #$%"+/0.' 9+:$ /:0+"-+;

    !"#$%#+"',-"#./

     ?@A!BCD -%'.4E0.' 9+:$ 3+%F0.$%;

    01.+2%,#+&'3

     > 0"#$%&'()$ G4+ 3+H4+ ' I "' JKL G4+ %+#+%+"/0' $ 9%$H%'&' MN!; O ' 0"#$%&'()$ .+543/' 2G4+%P7;

    01.+2%,#+&'3%1'.,4"!./

     > &+3&' 0"#$%&'()$ /$"-0.' +& QJRKSAT?K!BN8 &'3 /$& $3 /'%'/-+%+3 .+ +3/'9+2U""7 -%'.4E0.$3;

    +.5)#.%$),#

    D "$&+ .' &VG40"' G4+ #'E $ 9+.0.$; T+ $ 3+%F0.$% ")$ -+& +3-' 0"#$%&'()$8 ")$ .+F++3-'5+:+/+% 4& F':$% 9'%' +3-' F'%0VF+:8 &'3 9'%' KRWD?RA>XXK;

    +.5)#.%"//+

    D +".+%+($ != .' &VG40"' %+&$-' G4+ #'E $ 9+.0.$;

    +.01.,#%5.#$)/

    D &Y-$.$ /$& $ G4': $ 9+.0.$ #$0 #+0-$; ='%' @??=8 +33+ &Y-$.$ Y ZNR?Z8 Z@R>XZ8Z=DT?Z8 +-/;

    ,.+6.+%!+)#)4)-

    D "$&+ + ' %+F03)$ .$ 9%$-$/$:$ .+ 0"#$%&'([+3 4-0:0E'.$ 9+:$ 9+.0.$;C$%&'-$\ 9%$-$/$:$]%+F03)$;

    R,+&9:$\ @??=]^;_

    ,.+6.+%!)+#

    D "`&+%$ .' 9$%-' 9'%' $ G4': #$0 +"F0'.$ $ 9+.0.$;

    ,.+6.+%+))#

    D .0%+-6%0$ '53$:4-$ .' :$/':0E'()$ .$ 3+%F0.$% "' %+.+;

    ,4+&!#%'"5.

    J& /'&0"1$ F0%-4': 9'%' $ 9%$H%'&' MN! G4+ +3-V 3+".$ 43'.$;

    2343 56-.0$07(8

    ^; R3/%+F' 4& 9%$H%'&' MN! 43'".$ 4&' :0"H4'H+& .+ 34' +3/$:1' 2"$ J"0,8 F$/a 9$.++3/$:1+% M8 31+:: $4 =+%:7 G4+ 0&9%0&' '3 F'%0VF+03 .+ '&50+"-+ .+#0"0.'3 9+:$ 5%$b3+%;B)$ 9%+/03' H+%'% @?WL; =$.+ 3+% -+,-]9:'0" 2$ 9%$H%'&' 36 #4"/0$"'%V 3+ '3 9%0&+0%'3:0"1' 0&9%0&0%+& cM$"-+"-d-P9+\ -+,-]9:'0"e + ' 3+H4".' #$% +& 5%'"/$7; ?%'"3#0%' $ 9%$dH%'&' 9'%' $ 345.0%+-6%0$ /H0d50" .$ 3+4 3+%F0.$% f+5;

    gd^h

  • 8/20/2019 Aplicações Web em CGI

    85/110

    !"#$%&'( !  * "#$%#$&'()#  +,-'&./0

    12 3/45/4*06./ +,-'&./0

    !"#$"# %!&'" &)*+,'"! -./ 01-234567- 8939 / -73:0;/3< 7=>420;9- 7= 4=9 8?@019 ABC+D

    )/3=9E=7127< 4= -73:0;/3 1./ 919E0-9 / F/127G;/ ;7 4=9 8?@019 ABC+< =9- -0=8E7-=7127 9

    37F48739 7 71:09 8939 / FE07127< 98H- 4=9 37I40-05./D !7 / -48/327 9 -73:73%-0;7 01FE4;7- 7-20:73

    01-29E9;/< 7 9 8?@019 J/3 0;7120J0F9;9 F/=/ 4=9 8?@019 I47 / -73:0;/3 ;7:7 919E0-93 K-73:73%

    893-7; ABC+L< 7-27 83/F439 ;7123/ ;9 8?@019 8/3 01-234567- 7-87F090-< 7= F/=712?30/-

    ABC+< 7 379E0M9 2391-J/3=9567- 1/- ;9;/- ;9 8?@019 9127- ;7 71:0?%E9D N- 8?@019- I47 8/;7= -/J373 2391-J/3=9567- 273./ 4= F/127G;/ ;0J737127 1/ 0-F/ ;/

    -73:0;/3 7 1/ >3/O-73 ;/ FE07127D !./ @739E=7127 0;7120J0F9;/- 87E/ -4>208/ C&C" -73:73%

    893-7;%P2=E 9239:Q- ;7 4=9 7R271-./ 7-87F09E KD-P2=E< 8/3 7R7=8E/LD S -73:0;/3 27129 83/F7-%

    -93 2/;/- /- F/=91;/- 71F/1239;/- 9127- ;7 71:093 9 8?@019 F/=8E729 9/ >3/O-73D *9-/ /

    -73:0;/3 1./ 379E0M9 9 -4>-202405./< /- F/=91;/- FP7@93./ 9/ >3/O-73 9- 1./ -73./ 7R0>0;/- 19

    8?@019< 8/0- 7-293./ 71237 F/=712?30/- ABC+D

    1272 !(,869&4":;(

    T939 4-93 -73:73%-0;7 01FE4;7- Q 17F7--?30/ F/1J0@4393 / -73:0;/3D S- -73:0;/37- I47 -4%

    8/329= 873=027= ;/0- 1U:70- ;7 -7@439159D ,=< I47 873=027 2/;/- /- 01FE4;7- ;0-8/1U:70- 1/

    -73:0;/3 7 /423/ I47 873=027 2/;/- =9- -7= / F/=91;/ !"!# V 4= 01FE4;7 7-87F09E I47 F94-9

    9 7R7F45./ ;7 4= 83/@39=9 1/ -73:0;/3D )/- -73:0;/37- ,)&W< Q 837F0-/ 9E27393 / 93I40:/

    "--/002-(,8 D N- 9E2739567- 9>90R/ P9>0E029= / ;0372H30/ $%&'() 7 -4>;0372H30/- 9 93=9M7193 93I40%

     :/- I47 F/12Q= -73:73%-0;7 01FE4;7- F/=41- 7 I47 -48/329= / 01FE4;7 !"!#D

    *+,-.(%'-/ 123-14,51$%%6&1$%&'()7

    86%,'9) :9&.;.) /?@,9A) !"#$%&'( *+'#,-! 

    B44'=82.--,&. C'9.

    '-&.- 344'=D&.9/344'= E-'? 344

    *1+,-.(%'-/7 

    T939 ;7J0103 9 7R271-./ F)$%?4 F/=/ 01;0F95./ ;7 -73:73%893-7; ABC+< 29=>Q= Q 17%

    F7--?30/ ;7J0103 / 208/ 1/ 93I40:/ 04

  • 8/20/2019 Aplicações Web em CGI

    86/110

    !"#$%&'( !  * "#$%#$&'()#  +,-'&./0

    "#$ $%&'()#&%$ "%*$+,-%. %/ 01(2 #3 4(1)#5$. *3)# ($*# 6 )%7(1()# 1, 8,1%9, :;#1<

    *%1*/*?. #-@A# :B,&$%3(&I

     !"##$%&'( !"#$%&"'##*

    U1+93( # +#1*%V)# )% 3/, ',&(J'%9 )% ,/H(%1*% ;WU 1# )#+3/%1*#I

     9%57:&%(0;

    X

  • 8/20/2019 Aplicações Web em CGI

    87/110

    !"#$%&'( !  * "#$%#$&'()#  +,-'&./0

    !"#$%&'()*&+,-.+-'/0)+12+% "#$"%&'" ( '($& )" *"#+,*&- )& "$.+&'/& " #&0

    /(#'"#1 12/3#'(4  

    34--56789 !"#$%;"?9@ABA6@%--C

    +'2-3+ '" 4,5+'" " )"/" )" 6-/+$" $()+7+2"89( )( )(23$&'/(1

     !"##$%&'()*+ !"#$%&"'##-

     :)+2+('" /()( ( 2('/&6)( )& 3$ "#;3+*( "( )(23$&'/(< "'/&= )& &'*+,0-( "( 2-+&'/&1

    >34(#/" 3$ "/#+.3/(< ;3& 4()& = ?@AB (3 C@DEF:A1

     5%678&%(04

    BA;6$%'(DE)&F%1 @'7(#$" " -(2"-+%"89( )& "#;3+*( &$ #&-"89( "( )(23$&'/( ;3&

    ( #&7&'2+" G2"$+'H( #&-"/+*(I1

    !A#=G";$%'(DE)&F%1 @'7(#$" " -(2"-+%"89( )& "#;3+*( &$ #&-"89( J #"+% )& )(0

    23$&'/(= )( =*+)(# G2"$+'H( ".=(-3/(I1

     !"##$+.+' !"#$%&"'##-

    @'2-3+ '( )(23$&'/( (= *"-(#&= #&/(#'")(= 4&-" &K&2389( )& 3$ 4#(5#"$" '( =*+)(#

    G4#(*(2" " &K&2389( )&==& 4#(5#"$"I1 >34(#/" 3$ "/#+.3/(< ;3& 4()& = LMN (3 LO@1

     5%678&%(0 P

    7?@$%HI'2JHKF//'1.%1 @'7(#$" ( 2($"')( )( =+=/&$" " = &K&23/")(1

    7LA$%HKM)-0)1HI(FM('/'NI,%1 @'7(#$"< " 4"#/+# )( )+#&/Q#+( #"+% )( =*+)(#< (

    2"$+'H( G)+#&/Q#+( LO@I & ( '($& )& 3$ 4#(5#"$" LO@ " = &K&23/")(1 12/3#'(4  

    34--56O67 7LA$%HKM)-0)1HKFE12+(NI,P.FK$)1K,E.+QNJ2/,%--C

    "2+('" ( 4#(5#"$" KFE12+(NI, ;3& 2('/" ( '6$( )& *&%&= ;3& ( )(23$&'/(

    7(+ "2&==")(P

     !"##$/0%1+ !"#$%&"'##-

    @'2-3+ " +'7(#$"89( =(.#& ( /"$"'H( )& 3$ )&/$+'")( "#;3+*( '( )(23$&'/(1 >34(#0

    /" 3$ "/#+.3/(< ;3& 4()& = ?@AB (3 C@DEF:A1

     5%678&%(04

    BA;6$%'(DE)&F%N @'7(#$" " -(2"-+%"89( )& "#;3+*( &$ #&-"89( "( )(23$&'/(

    ;3& ( #&7&'2+"1 12/3#'(P 

    34--5B

  • 8/20/2019 Aplicações Web em CGI

    88/110

    !"#$%&'( !  * "#$%#$&'()#  +,-'&./0

    !"#$%& ( &")*+,(-.* /*0+1 ( 2(3( 2( 4$3&,( ,*2&)(-.* 21 %, 2131+,&"(2* (+5%&6* "*

    2*#%,1"3*7 8%9*+3( %, (3+&0%3*: 5%1 9*21 /1+ ;!!?@AB3:(,:(03+E: "LMD*E:H.F4"4#$>

    .FK$27>

    .J-EN JGM-D-(%&1!!!!!!&>

    .KO>3:(,:(03+E: "LMD*E:H.FKO>

    .P>?'(+Q,:+H E: M-LR+G*('ST- 33" U-JH:(,: )*: M-I:L9Q(+-H V-E:I H:( *H'E-H

    E:L9(- E-H E:HM(+9-(:HWX

    .P@$>YD9Z/001M-LR+G 9+I:RI9%&[M& R-(I'9- H+IVD:H E: E'9'FC-(' 00YG9Z

    ./001M-LR+G 9+I:RI9%&[M& R-(I'9- H+IVD:H E: E'9'FC-(' 00>

    YD9Z/001M-LR+G H+\:RI9%&[E JN9:H&00YG9Z

    ./001M-LR+G H+\:RI9%&[E JN9:H&00>

    YD9Z/001M-LR+G :((IHG%&11$@@6/11&00YG9Z

    ./001M-LR+G :((IHG%&11$@@6/11&00>.FP@$>

    .V>2H E+(:9+,'H 33" 'J'+;- :H9T- :;:M*9'E'H '- D'E-= P'(' ,:( - '()*+,- -(+G+L'D

    ] L:M:HHQ(+- ,+H*'D+\Q0D- L- H:* E+(:9^(+- : LT- '9(',]H E- H:(,+E-(=.V>.J>_-LR+G*('S`:H L:M:HHQ(+'HX.FJ>

    OW P'(' 9:H9'( ' E+(:9+,' $a$_ ] L:M:HHQ(+- +LR-(I'( - L-I: *I '()*+,- _b" )*: (:9-(L

    9:;9- : M-D-MQ0D- L- D*G'( E: cV(-GMG+=:;:d= eW P'(' 9:H9'( 'H E+(:9+,'H "f_#A7$g !3"h$ : !

    ] V(:M+H- H*JH9+9*+( HH+9:;9=9;9 : HH+R+D:=:;9 V-( '()*+,-H :;+H9:L9:H L- I:HI- E+(:9^(+- -

    :H9Q ' VQG+L' 3K45#=

    .P@$>.i>7"@$4"?2 33" @$3A#4276.Fi>

    .K@>

    NKOP

  • 8/20/2019 Aplicações Web em CGI

    89/110

    !"#$%&'( !  * "#$%#$&'()#  +,-'&./0

    !"#$%&&'()(* *,-./0*,-&1-20345,*,-6()(/&&!,#$ 7%&&'()(* *,-./0*,-&1-2088-*,-6()(/&&9

    !"#$%&&'-2*":;( 4./BCDEFGHIJHKFG/&&!,#$ 7%&&'(*@5 A>4./BCDEFGHIJHKFG/&&9

    !"#$%&&'(*@5 A>4./BCDEFGHIJELM/&&!,#$ 7%&&'(*@5 A>4./BCDEFGHIJELM/&&9

    !"#$%&&'(*@5 A>4./NKOIJFCBMPMGB/&&!,#$ 7%&&'(*@5 A>4./NKOIJFCBMPMGB/&&9!"#$%&&'(*@5 A>4./QEGLRJOILMHS/&&!,#$ 7%&&'(*@5 A>4./QEGLRJOILMHS/&&9

    !"#$%&&'(*@5 A>4./QEGLRJOILMHSJEHGODKTGB/&&!,#$7%&&'(*@5 A>4./QEGLRJOILMHSJEHGODKTGB/&&9

    !"#$%&&'(*@5 A>4./BKIGJNCDKN/&&!,#$ 7%&&'(*@5 A>4./BKIGJNCDKN/&&!,#$

    !"#$%&&'(*@5 A>4./BKIGJSFI/&&!,#$ 7%&&'(*@5 A>4./BKIGJSFI/&&9

    !"#$%&&'(*@5 A>4./OGLUGLJOCPIVKLG/&&!,#$ 7%&&'(*@5 A>4./OGLUGLJOCPIVKLG/&&9

    !"#$%&&'(*@5 A>4./OGLUGLJHKFG/&&!,#$ 7%&&'(*@5 A>4./OGLUGLJHKFG/&&9

    !"#$%&&'(*@5 A>4./OGLUGLJTLCICDCN/&&!,#$ 7%&&'(*@5 A>4./OGLUGLJTLCICDCN/&&9

    !"#$%&&'(*@5 A>4./LGQEGOIJFGIWCB/&&!,#$ 7%&&'(*@5 A>4./LGQEGOIJFGIWCB/&&9

    !"#$%&&'(*@5 A>4./LGFCIGJWCOI/&&!,#$ 7%&&'(*@5 A>4./LGFCIGJWCOI/&&9

    !"#$%&&'(*@5 A>4./WIITJKDDGTI/&&!,#$ 7%&&'(*@5 A>4./WIITJKDDGTI/&&9

    !"#$%&&'(*@5 A>4./WIITJEOGLJKSGHI/&&!,#$ 7%&&'(*@5 A>4./WIITJEOGLJKSGHI/&&9

    !"#$%&&'(*@5 A>4./LGPGLGL/&&!,#$ 7%&&'(*@5 A>4./LGPGLGL/&&9

    !"#$%&&'(*@5 A>4./XCSEO/&&!,#$ 7%&&'(*@5 A>4./XCSEO/&&970TLG9

    7WL9

    70XCBR9

    70WIFN9 

    1232 45/6-$-7(0

    !" $%&'()* +,* -./01* 2345 6+( 01&7+* 0189',*:;(% %9*D

    ?9' &9+1>('"-7 EF 1(&(%%.'09 &9180/+'*' %+-9'>( *9 ?(%&'0>9' (G(&H (, +,* .'(* ?* -./01*"

    I" $%&'()* +,* -./01* 2345 &9, +,* >*

  • 8/20/2019 Aplicações Web em CGI

    90/110

    !"#$%&'( !  * "##$%&' 

    +, !((-./0

     ! #$%&'(')*! %'&+$%*,! %'-' +##. %//01234 356715 28 9::;

  • 8/20/2019 Aplicações Web em CGI

    91/110

    !"#$%&'( !  * "##$%&' 

    !"#$%"&'() +(,$ -.!&/-0 (/10(2 !"3+(2 ,$ -.4(03"%5( 2(#0$ " +67-." 8/$ ( 2$09-,(0 .5( -.!&/-

    +(0 +,-"&'% : ;(,$) +(0 $2$0 -06

    70"9"0 ,(-2 .(9(2 !((?-$2 ." 3$3B0-" !(.1$.,( "2 -.4(03"%C$2 EI(">#"RS5>//-A $ >&H"$

    EI#RK58(": D22"2 -.4(03"%C$2 +(,$3 2$0 0$!/+$0","2 $3 8/"&8/$0 +67-." 8/$ 1$.'" (0-7$3.( 2$09-,(0 8/$ ,$4-.-/ (2 !((?-$2 $.8/".1( " +0$2$.1$ 2$225( ,( #0(>2$0 $21-9$0 "#$01":

    E3 !"#$%"&'( !"#$%&&'(" +(,$ !(.1$0 3/-1( 3"-2 -.4(03"%C$2) 8/$ "&1$0"3 " 4(03"

    !(3( ( !((?-$ F 10"1",( +$&( #0(>2$0: ;(0 $2$0@

    !"#$%&&'("6 >&H"EI#RK58("U "78(6"9.5&-:0;< 2=$>0-$?? 2@)1A)== B5C 

     G 2-.1"

    "GD(8"T"#$%$ &' (')*$%' +,-. 

    9&H5(>"#'*/&0' ' ' 2''301 4 5670#'. 

    D5#F"2$*0&8' #1&%)' #' #'*/&0' ' ' 2''301 4 5670#'. 

    T"E=8"

    H2 !"3+(2 ,( !"#$%"&'( !"#$%&&'(" 25( /2",(2 ." ,$4-.-%5( ,$ !((?-$2 1".1( $3 LMN

    8/".1( $3 O"9"P!0-+1: H 2-7.-4-!",( ,(2 !"3+(2 $216 0$&"!-(.",( ." 1"#$&" "#"-"TE5D"PQ "2 ,$!(,-4-!":

    "GD(8"TR#$%$  9#05(:"' : P$ +0$2$.1$) ,$4-.$ /3" ,"1" !(3 ( +$0J(,( ,$ 9"&-,",$

    UIVU

  • 8/20/2019 Aplicações Web em CGI

    92/110

    !"#$%&'( !  * "##$%&' 

    !"#$% '()*+,-.%

    !" $""%&'( )*+, ',-. !.-./ " $""%&' !'&0.12 !' '0&,-&1( 3' ',-' $.4*"

    56" ',-&7'1 *1','5-'/ " $""%&' ,+ '0&,-' '589.5-" !91.1 . ,',,6" !"

    :1";,'1( ) !.-. !'7' ',-.1 5" ,'

    02'*#3( 45+6#'+77 48.9:.55 /01

    A 4B-"!" -"CDE3-1&5P=;0#@"%Q %R

  • 8/20/2019 Aplicações Web em CGI

    93/110

    !"#$%&'( !  * "##$%&' 

    !"#$%&" !( )# *""+&( , !"#$%'&$!%&(- (.( /"!( 0(1 .&!" %20 #34)&%20 )*+,)!"#$%'&$!%&( ( %-&%&.)'/!"#$%'&$!%&(5 6212 1(071&%8&9." : #34)&%2 %-&%&.),'/!"#$%'&$