プロ級編1

 パスワード設定
   秘密のページの入り口にパスワードを作りましょうか。


特別なメンバーにだけ公開するページや情報交換掲示板などが欲しい時も出て来るでしょうね。
そういう時にパスワード入力ページを作って、通過できた訪問者だけが進めるなんてのもちょっとプロっぽいですね。
ここまでCGIをマスターしてきた生徒さんなら、特段の難しさはありません。
用意するファイルは3つ。パスワードを入力させるHTML文/そのパスを照合するCGI文/パス通過後に進むゴールのページのHTML文。 以上、3つです。では、サンプルを体験してみましょう。
パスワードは 12345 です。

無事にメンバーオンリーページに進めましたか。間違った時は不通過になりますよね。
こういうパスワードチェックを習得しておきましょうか。会員制のサイトなんかも運営可能になりますね。
CGI文(pass-check.cgi)の内容は下記の通りです。

#!/usr/local/bin/perl
$homonsya = $ENV{'QUERY_STRING'};
      @group = split(/&/, $homonsya);
      foreach $ans (@group)
      {($name, $value) = split(/=/, $ans);
         $value =~ tr/+/ /;
         $value =~ s/%(..)/pack("c", hex($1))/ge;
         $ok_homonsya{$name} = $value;}
$pass = $ok_homonsya{'pass01'};
if ($pass eq "12345"){print "Location:https://〜〜〜/○○○.html\n\n";
# パスワード通過後のリンク先URLを Location: のあとに記述。
exit;
}
else
{
print "Content-type: text/html\n\n";
print "<HTML>\n";
print "<TITLE>Your enterPASSWORD was out</TITLE>\n";
print " 入力したパスは間違っています。ブラウザ右上の『×』ボタンで閉じて下さい

\n"; print "$pass\n"; print "<P>\n"; print "<HR>\n"; print "</HTML>\n"; }


10行目にpass eq "12345"と書いている部分がありますね。これが設定パスワードです。 12345は自由に変更して下さい。
11行目に記載の通り、10行目のLocation:の後ろにパスワードが正しく入力された後のジャンプ先URLを設定する訳です。
14行目のelse以降がパスワード不一致の時のコメントになります。簡単ですね。

パスワード入力HTML文や通過後表示HTML文は問題なく作れる力量をお持ちでしょう。ここまで来られた生徒さんなら。(^^)
入力時のCGIリンク部分だけ、下記に記します。

●パスワードを入力してください●<br>
<FORM METHOD="GET" ACTION="https://〜〜〜/pass-check.cgi">
<font size=4 color=red>Password Please</font>:<input name="pass01"><P>
<hr>
<input type=submit value=" 照会"> <input type=reset value="取消">
</form>

2行目の ACTION=以降に、上記のCGI(pass-check.cgi)を ご自身のサーバーにアップロードしたURLを記載して下さい。 これでパスチェックの仕組みが完成です。

メンバーオンリーの訪問者制限ページを作る時には、是非ともご活用下さい。

質問メール  SCHOOL TOP