CGI
CGI SSI smartavenue CGI SSI CGI SSI CGI CGI CGI HTML CGI perl C 3 C CGI Linux CGI perl sendmail uuencode uudecode nkf /usr/bin/perl /usr/local/bin/perl /usr/lib/sendmail /usr/bin/uuencode /usr/bin/uudecode /usr/local/bin/nkf perl CGI 1 perl #!/usr/bin/perl #!/usr/local/bin/perl CGI CGI admin FTP CGI /cgi-bin CGI /cgi-bin 1
FTP CGI CGI CGI CGI FTP smartavenue Telnet Telnet CGI smartavenue (owner) (r) (x) (owner) (w) CGI 705(rwx---r-x) CGI 700(rwx------) 600(rw-------) sendmail CGI sendmail sendmail /usr/lib/sendmail CGI /usr/lib/sendmail -t -f( ) 2
user@smartave.ne.jp /usr/lib/sendmail -t -fuser@smartave.ne.jp smartavenue qmail sendmail sendmail qmail sendmail sendmail -t -f(from ) 3
ADMIN MANAGER CGI counter2.lzh counter2.lzh LZH LZH Counter.cgi CGI Counter.html HTML.htaccess 0.gif 9.gif readme.txt HTML (admin) FTP counter.cgi /cgi-bin /home counter.cgi FTP counter.cgi 700(rwx------) http:// IP /counter.html 4
HTML counter.html HTML HTML index.html SSI <!--#include virtual="/cgi-bin/counter.cgi"--> counter.dat counter.bak CGI counter.cgi counter.dat counter.bak counter.dat counter.dat 4 counter.dat counter.dat counterdb IP = = counterdb counterdb 5
counter.cgi counter.cgi 5 # counter.cgi #$IPDB_DIR = 'counterdb' counter.cgi $COUNT_FILE counter.dat $COUNT_FILE2 $COUNT_FILE counter.bak $IPDB_DIR IP counterdb $IPDB_TIMER_UNIT IP 10 10 IP 600 $IPDB_LIFETIME $IPDB_TIMER_UNIT $IPDB_TIMER_UNIT 6
$IPDB_TIMER_UNIT 6 $GARBAGE_COLLECTION_TIMER $IPDB_DIR 100 $IMAGE_DIR URI /home /home/image /image / $IMAGE_MINI 6 7
1. ADMIN MANAGER CGI formmail2.lzh ADMIN MANAGER - - ADMIN MANAGER 2. formmail2.lzh LZH LZH formmail.cgi CGI formcfg.txt formmail.html HTML formchk.html HTML formerr.html HTML HTML formthx.html 3. formcfg.txt 1 2 2 admin@**.in*.smartave.ne.jp ( ) $MAIL_SENDER = 'admin@**.in*.smartave.ne.jp'; $MAIL_TO = 'admin@**.in*.smartave.ne.jp'; 4. (admin) FTP formmail.cgi formcfg.txt /cgi-bin 8
/home formmail.cgi FTP 5. formmail.cgi 700(rwx------) formcfg.txt 600(rw-------) 6. http:// IP /formmail.html HTML formmail.html HTML HTML <FORM> <FORM METHOD="POST" ACTION="/cgi-bin/formmail.cgi"> <INPUT TYPE="******" NAME=" 1"> <INPUT TYPE="******" NAME=" 2"> <TEXTAREA NAME=" 3"> <INPUT TYPE="submit"><INPUT TYPE="reset"> </FORM> formmail.cgi <FORM> (<INPUT> <TEXTAREA> ) <FORM> <FORM> 1 formmail.html HTML 9
[ ] 1 NAME a 2 NAME b 3 NAME c NAME HTML NAME NAME NAME (a b c ) [ ] HTML <FORM> <INPUT TYPE="hidden" NAME="OPT:JPNAME:[NAME]" VALUE="[ ]"> [NAME] NAME [ ] <INPUT TYPE="text" NAME="abc"> <INPUT TYPE="hidden" NAME="OPT:JPNAME:abc" VALUE=" "> 10
[ ] HTML <FORM> <INPUT TYPE="hidden" NAME="OPT:NEED:[NAME]" VALUE="[ ]" [>NAME] NAME [ ] <INPUT TYPE="text" NAME="abc"> <INPUT TYPE="hidden" NAME="OPT:NEED:abc" VALUE=" "> formerr.html [ ] HTML <FORM> <INPUT TYPE="hidden" NAME="OPT:MAILADDRESS:[NAME]" VALUE="[ ]"> [NAME] NAME [ ] <INPUT TYPE="text" NAME="abc"> 11
<INPUT TYPE="hidden" NAME="OPT:NEED:abc" VALUE=" "> formerr.html CGI / / / [ / ] formcfg.txt $OPT_USE_CONFIRM 0 $OPT_USE_CONFIRM 0 ( 1) $OPT_USE_CONFIRM = 0; [ / ] formcfg.txt $OPT_CHECK_VALUE 0 $OPT_CHECK_VALUE 0 ( 1) $OPT_CHECK_VALUE = 0; [ / ] 12
formmail.cgi $USE_OTHER_CONFIG_FILE 0 $USE_OTHER_CONFIG_FILE 0 ( 1) $USE_OTHER_CONFIG_FILE = 0; 1 2 1. formcfg.txt formcfg2.txt 2. formcfg2.txt 1 1 2 admin@**.in*.smartave.ne.jp ( ) 3. 2 HTML <FORM> <INPUT TYPE="hidden" NAME="_CONFIG_FILE" VALUE="formcfg2.txt"> formcfg2.txt 4. (admin) FTP formcfg2.txt /cgi-bin 600(rw-------) 2 HTML /home 5. 2 HTML 13
2 14
SSI SSI HTML SSI SSI.shtml.shtml SSI.htaccess - #exec #exec SSI # exec *** = " ***** " 15