トップ   編集 凍結解除 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS   ログイン

TOP>質問箱>20

教えてください。

メッセージ

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";
}


Last-modified: 2023-12-14 (木) 22:31:43