#!/usr/local/bin/perl require './ini.cgi'; ### ↓サブルーチン呼び出し # &decode; if($FORM{'munba'} eq ''){&GO;} if($FORM{'munba'} eq 'go'){&go_in;} ### ↓サブルーチン # ############ # 入力画面 # ############ sub GO{ &HTML_header; print <<"login";
名前      (8文字以内)$bb 暗証番号   (10文字以内)$bb $b login } ######## # 認証 # ######## sub go_in{ if($name eq "ムンバ" && $pass eq "123"){&HTML; }else{ &message("名前または暗証番号が違います。"); exit; } } ######## # HTML # ######## sub HTML{ &HTML_header; print <<"munba"; ログイン成功〜っ!(≧∇≦)ノ〃わーい♪$bb$bb \$buffer : $buffer $bb \$name : $name $b \$pass : $pass $b \$buffer_length : $buffer_length munba &HTML_footer; } ################## # メッセージ表示 # ################## sub message{ print "Content-type:text/html\n\n"; print < $title $aka
$_[0]$f $b message &HTML_footer; } ############ # ヘッダー # ############ sub HTML_header{ print "Content-type: text/html\n\n"; print <<"header"; $title header } ############ # フッター # ############ sub HTML_footer{ print <<"footer"; $c $c_e footer print "\n"; } ############ # デコード # ############ sub decode{ my $login_buf = 68; $method = $ENV{'REQUEST_METHOD'}; $buffer_length = $ENV{'CONTENT_LENGTH'}; if($buffer_length >= $login_buf){&message("名前または暗証番号が長すぎます"); exit;} if($method eq 'POST'){ read(STDIN,$buffer,$buffer_length); }else{ $buffer = $ENV{'QUERY_STRING'}; } @data = split(/&/,$buffer); foreach $line(@data){ my ($from_form,$value) = split(/=/,$line); $value =~ tr/+/ /; $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg; #&jcode'convert(*value,'sjis'); $value =~ s/&/&/g; $value =~ s//>/g; $value =~ s/<>/<>/g; $value =~ s/\r\n/
/g; $value =~ s/\r/
/g; $value =~ s/\n/
/g; $FORM{$from_form} = $value; } $name = $FORM{name}; $pass = $FORM{pass}; $go = $FORM{go}; } # ### ↑サブルーチン exit;