Aplicações Web em CGI
-
Author
wilson-gotardo -
Category
Documents
-
view
219 -
download
0
Embed Size (px)
Transcript of Aplicações Web em CGI
-
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 ;. *# ?#$ %#[email protected]*#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$#$+& [email protected]
-
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%
-
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+& )&+& 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"*.*+
-
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=/+?)
-
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*%)& +*..*.
-
8/20/2019 Aplicações Web em CGI
26/110
!"#$%&'( a + ;(/0&'U/5(8
$)'%-?)&.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. [email protected]+)
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 [email protected] , @BC7:DE@ 3457948 [email protected];46 @8 67F>[email protected] ;7 ,-.' >:D?DG4;@8 [email protected] [email protected]?:7 >[email protected] [email protected]@ ;7 [email protected]>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:[email protected] 7 :4 4 ?D9H>4H7DE@ F@< 7X:798M@ !"# 7 7X7F>:4;@ 4:64E38 ;4 [email protected]@ ;@D9:76567:4;@6O ;4 [email protected]
-
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 [email protected]; #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)' [email protected] /+$/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 $ '#[email protected]$+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 '#[email protected]$+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@ [email protected]/I/[email protected] 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'[email protected]@ ( .10+.1.+ )# # %(-
*#$&(>)#: 0#)(6%( 2'5(+A
!"#$)0EF*+,-24 6(%7'[email protected]@6AB
GH=I' )J0EF*+,-2KA L M IN
-
8/20/2019 Aplicações Web em CGI
43/110
!"#$%&'( * + ,-.'
!"#$%&'()*+,-. 011$!2#3456507 88 !"# 0,99!: $;! "[email protected]
$!2#34565 ">9> A9>B>C;!0D
$%"&' )*+,-./0 %0E#$5! F>9$#@9!D0. 0' =!3 G>2"@9!3 E9>[email protected]#@9!3. IJD07D
$%"&' )*+,-./0 0K$0D
"9@$5 0)!2# L>=>359>=! $! ?>$L! =# =>=!30D M @2"[email protected]# $> 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!: $;! "[email protected] O!$5#45650D
!"#$%R,-QS)*. 01=#35@$!456507 88 !"# 0,99!: $;! "[email protected]
=#35@$!4565 ">9> A9>B>C;!0D
[email protected]# %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'."[email protected]&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 ,;+#.-.;[email protected]"#" (-+./*(. *+ #$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
< $!&'!( /=("/ >([email protected] 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 >([email protected] DG &
< $% >([email protected] 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 >([email protected] 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#[email protected]$+( ,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%/' $%-% ;#(' > [email protected] EED [email protected]&:;
-./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 [email protected]$"'AVWXGA %,-+.!%/0)12+3!"#+4'(#)5*"+"0-
J>-Y+*[email protected] %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:[email protected]?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:
[email protected]'.H * $%&+,.505-6005.'/"1232329:$-"I * $%&+,.505-6005.'/"178832329:
[email protected]>" * $%&+,.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"[email protected]'.H9:
; C-'# ' @0>" 5M'0
$%&+,'[email protected]>"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 [email protected]&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 / ,(.%":'- ;-%."#[email protected] 2 &;
TUD / >."#[email protected] 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( $+ '+ ,-#^ #" _-)("*"=% `#%$(#$% [email protected]
!,"($(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$,[email protected],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# "[email protected]=B=C02!94:
(23=# +/?D E F2? 9GGG ;9#9:#HH I+7
"/?3=?3J3KL=# 2LLMC523C/?!NJ1OP/Q?M/2P
"/[email protected]# 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:( )([email protected]'-( &(. &"&(. !'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'[email protected](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'[email protected]( *+ )(,-"&(! 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@[email protected](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;$ [email protected] *+& $ .&-/,'$- +A,1,B(8
C$-%(A$D [email protected]&/,.;$/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+"-+;
!"#$%#+"',-"#./
[email protected]!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 [email protected]>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 [email protected] ABC+D
)/3=9E=7127< 4= -73:0;/3 1./ 919E0-9 / F/127G;/ ;7 4=9 [email protected] 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 [email protected] J/3 0;7120J0F9;9 F/=/ 4=9 [email protected] I47 / -73:0;/3 ;7:7 919E0-93 K-73:73%
893-7; ABC+L< 7-27 83/F439 ;7123/ ;9 [email protected] 8/3 01-234567- 7-87F090-< 7= F/=712?30/-
ABC+< 7 379E0M9 2391-J/3=9567- 1/- ;9;/- ;9 [email protected] 9127- ;7 71:0?%E9D N- [email protected] 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 [email protected] F/=8E729 9/ >3/O-73D *9-/ /
-73:0;/3 1./ 379E0M9 9 -4>-202405./< /- F/=91;/- [email protected]./ 9/ >3/O-73 9- 1./ -73./ 7R0>0;/- 19
[email protected]< 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/[email protected] / -73:0;/3D S- -73:0;/37- I47 -4%
8/329= 873=027= ;/0- 1U:70- ;7 [email protected] ,=< 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*/*?. #[email protected]# :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 !"#$%;"[email protected]@%--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()& = [email protected] (3 [email protected]: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 [email protected]
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#+( [email protected] & ( '($& )& 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()& = [email protected] (3 [email protected]: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+ ;[email protected]:(,:(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 %-&%&.),'/!"#$%'&$