perl初心者です。寄せ集めでpassform.cgiを作ってみました。 穴というか危険性というかまったくわかっていないのが現状です。 これをそのままつかってよいものでしょうか。こうすれば…とか, いうところも併せてよろしく。
#!/usr/local/bin/perl require './jcode.pl'; $pswd = "1234567"; $action = "./form.cgi"; $openfile = "localhost/cgi-bin/adres.cgi" print "Content-type: text/html\n\n"; print <<FORM_HTML; <HTML> <HEAD> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=Shift_JIS"> <TITLE>$title</TITLE> </HAED> <BODY BACKGROUND="momo.gif"> <BASEFONT SIZE=3> <A HREF="../index.html">メニューに戻る</A><br><br> <center> <FORM ACTION="$action" METHOD="POST"> <INPUT TYPE="hidden" NAME="status" VALUE="send"> パスワードを入力してください。<BR><BR> <INPUT TYPE="password" NAME="pass" SIZE=12 MAXLENGTH=12> <INPUT TYPE="submit" VALUE="入室"><BR> </FORM> </center> <HR SIZE=1 NOSHADE> FORM_HTML read(STDIN, $pass, $ENV{'CONTENT_LENGTH'}); $pswd1 = "status=send&pass=$pswd"; $pswd2 = "status=send&pass="; if($pass eq "$pswd1"){ &html("<center> <pre>パスワードは正しく入力されました。 </pre><br> <pre>個人連絡情報登録室に入室します。 </pre><br> <pre>入室しない時は下記をクリックして下さい。</pre><br> <META http-equiv=\"refresh\" CONTENT=\"0;URL=http://$openfile\"> 移動先<br><br> <a href=\"http://$openfile\" target=\"_top\"> <b>情報室</b></a><br></center>"); } elsif($pass eq "$pswd2"){ &html("<center>パスワードを入力してください。<br> <br>戻るボタンを押してください。</center>"); } elsif($ENV{'CONTENT_LENGTH'} ne 0){ &html("<center>パスワードがちがいます。<br> <br>戻るボタンを押してください。</center>"); } sub html { print "<HTML><HEAD></HEAD>\n"; print "<BODY BACKGROUND=\"momo.gif\">\n"; print "<H3>$_[0]</H3>\n"; }