トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS   ログイン


教えてください。

メッセージ

perl初心者です。寄せ集めでpassform.cgiを作ってみました。 穴というか危険性というかまったくわかっていないのが現状です。これをそのままつかってよいものでしょうか。こうすればとかいうところも併せてよろしく。

#!/usr/local/bin/perl require './jcode.pl';

$pswd = "1234567"; $action = "./form.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://localhost/cgi-bin/adres.cgi\"> 移動先<br><br>

a href=\"http://localhost/cgi-bin/adres.cgi\" 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";