[三流君] −−> [ASPで遊ぶ、失敗する] −−> [バックナンバー一覧]
−−> No.035 パスワードの入力画面

パスワードの入力画面



本文(発行内容)


<パスワードの入力画面>

こんにちは、Ken3です。

今回は、
パスワードの入力画面
について簡単に書いてみたいと思います。

/*
 * 1.意外と簡単なパスワード入力フォーム
*/

バックナンバーのまとめで、
どんなシステムにも、ユーザーから受け取った値を処理する仕組みがあります。
HTMLのフォームから入力された値を送ってもらい、ASPでも処理します。
なんて、偉そうに書いてたけど、
ASP、ASPと騒いでいても、
HTMLフォームタグのタグで入力されたデータを
受け取って処理しているだけです。

パスワード:<INPUT TYPE="password" NAME="pass" SIZE="12">

なんて、1行、入力のための処理を作成すればOKです。
ポイントは、TYPE="password"です。

ユーザーIDとパスワードを入力させるフォームを
下記のような感じで作りました。
<html>
<head>
<title>パスワードの入力テスト</title>
</head>
<body>
<h2>パスワードの入力テスト</h2>
<br>
<FORM ACTION="test035-1.asp" METHOD="POST">
USER ID:<INPUT TYPE="text" NAME="userid" SIZE="20"><br>
パスワード:<INPUT TYPE="password" NAME="pass" SIZE="20"><br>
<INPUT TYPE="submit" VALUE="ログイン">
<INPUT TYPE="reset"  VALUE="クリア">
</FORM>

</body>
</html>

http://www.ken3.org/cgi-bin/test/test035-1.html で確認できます。


/*
 * 2.受け取りも普通通り
*/

データの受け取りも、普通に、
Request.Form("userid")
Request.Form("pass")
で受け取れます。
簡単なチェックをIf文でしてみました。

<%@LANGUAGE=VBScript%>
<html>
<head>
<title>パスワードのチェック</title>
</head>
<body>
<h2>パスワードのチェック</h2>
test035-1.asp<br>
ID=<%=Request.Form("userid")%><br>
PASS=<%=Request.Form("pass")%><br>
を受け取りました。<br>
<%  'ID=guest Pass=ken3 だったら、OKにする
  If Request.Form("userid") = "guest" And Request.Form("pass") = "ken3" Then
     Response.Write "<h2>パスワードOK、ようこそ</h2>"
  Else
     Response.Write "<font color='red'>パスワードが違います</font>"
  End If
%>

<HR>
終了です。なんか変だけど<br>

</body>
</html>

http://www.ken3.org/cgi-bin/test/test035-1.html
で、ID:guest Pass:ken3 でテストして下さい。
*また、違うパスワードを入れたりして、エラーを確認して下さい。

/*
 * 3.METHOD="GET" で送った時のメリット、デメリット
*/

フォームの送信で、もう一つのパターン、
FORM ACTION="xxxxx.asp" METHOD="GET"
があったよね、
パスワード入力をGET対応にするには、

***************************
HTML 入力側 test035-2.html
***************************
<html>
<head>
<title>パスワードの入力テスト METHOD=GETで送る</title>
</head>
<body>
<h2>パスワードの入力テスト METHOD=GETで送る</h2>
<br>
<FORM ACTION="test035-2.asp" METHOD="GET">
USER ID:<INPUT TYPE="text" NAME="userid" SIZE="20"><br>
パスワード:<INPUT TYPE="password" NAME="pass" SIZE="20"><br>
<INPUT TYPE="submit" VALUE="ログイン">
<INPUT TYPE="reset"  VALUE="クリア">
</FORM>

</body>
</html>

***********************
ASP 判断 test035-2.asp
***********************
<%@LANGUAGE=VBScript%>
<html>
<head>
<title>パスワードのチェック Request.QueryString</title>
</head>
<body>
<h2>パスワードのチェック Request.QueryString</h2>
test035-2.asp<br>
ID=<%=Request.QueryString("userid")%><br>
PASS=<%=Request.QueryString("pass")%><br>
を受け取りました。<br>
<%  'ID=guest Pass=ken3 だったら、OKにする
  If Request.QueryString("userid") = "guest" _
       And Request.QueryString("pass") = "ken3" Then
     Response.Write "<h2>パスワードOK、ようこそ</h2>"
  Else
     Response.Write "<font color='red'>パスワードが違います</font>"
  End If
%>

<HR>
終了です。なんか変だけど<br>

</body>
</html>

http://www.ken3.org/cgi-bin/test/test035-2.html で確認できます。

変更点は、
~~~~~~~~~
<FORM ACTION="test035-2.asp" METHOD="GET">
とGETで送ってるのと、
受け取りが、
Request.QueryString("項目名")になっただけなんだけど。

プログラムの変更点は少ないのですが、
テストするとわかるのですが、
http://www.ken3.org/cgi-bin/test/test035-2.asp?userid=kenzou&pass=0000
みたいに、URLにパスワードが載ってます。

 ←サンプル画面

これをセキュリティ上のデメリットと取る見かたもあるけど、
メリットもあって、
パスワードのフォーム画面で入力しなくても、
ショートカットがわりで
http://www.ken3.org/cgi-bin/test/test035-2.asp?userid=guest&pass=ken3
としておけば、メールソフトなどからワンクリックでユーザー画面に入れる
なんてこともできます。

セキュリティと使い易さのバランスをとらないといけないけど、
GETで送るのも一つの手です。

/*
 * 4.終わりの挨拶
*/

簡単なパスワード入力の説明でした。
次回は、DBにユーザー登録して、IDとパスワードのチェックを
やってみたいとおもいます。

素朴な疑問あったら、気軽に、
メール、掲示板に書き込んでくださいね。
掲示板 : http://www.ken3.org/asp/bbs-asp.html

ASP、VBScript勉強中の三流プログラマーのKen3でした。

----------------------------------
関連項目(ただのバックナンバー紹介)
----------------------------------
[No.04 フォームから値を受け取りたい]
( http://www.ken3.org/backno/backno_asp01.html#4 を参照)
では、
フォームを作成し、モードPOSTで送信
受け取りの基本は簡単で、
Request.Form("フォームの項目名")
で受け取りました。

[No.08 URLに付けたパラメータを参照(クエリ情報)]
( http://www.ken3.org/backno/backno_asp02.html#8 を参照)
では、
URLに付けた情報 test007-2.asp?ID=123 ?の後ろがパラメーターを取出す
Request.QueryString("項目名")をやりました。
満足 http://www.ken3.org/cgi-bin/test/test008-2.asp?A=1
普通 http://www.ken3.org/cgi-bin/test/test008-2.asp?A=2
不満 http://www.ken3.org/cgi-bin/test/test008-2.asp?A=3
などのよくみかけるパターンを少し解説しました。

さらに続けて、
[No.09 URLに付けたパラメータを参照(クエリ情報)]
( http://www.ken3.org/backno/backno_asp02.html#9 を参照)
では、
フォームのMETHOD="GET"で送ると、
フォームの値をURLに載せて、ASPが呼ばれてることを説明しました。

[No.22 隠し項目type="hidden"を使ってみた]
( http://www.ken3.org/backno/backno_asp05.html#22 を参照)
では、
画面に表示されない隠し項目の使い方を解説しました。
固定のパラメーターなどを隠して(表示しないで)渡す時に必要です。


ページフッター

ここまで、読んでいただきどうもです。目的の情報が見つかったか?少々心配しつつ、、、

三流君へ メッセージを送る

感想や質問・要望・苦情など 三流君へメッセージを送る。
返信例 XXXXさんへ
下記のフォームからメッセージを送ることができます。


あなたのお名前(ニックネーム):さん
返信は?:

アドレス:に返事をもらいたい
感想や質問↓:


(感想や質問・要望・苦情はHPで記事に載せることがあります。)

種類別のリンク や 広告など

[三流君(TOP ken3.org へ戻る)] / [ASPで遊ぶ、失敗する] / [ASP記事 バックナンバー目次]


Blogとリンク:[三流君のMemo別館]/ [ASP 三流君のソースコード置き場]/ [Ken3Video YouTubeで動画解説]
広告:

気になった ジャンル ↓を選択してください。

まぁ、基本はデータの受け取りかなぁ。
・[Form等を使用したデータのやり取り]・・・ASPと言っても、HTMLの入力フォームからデータを受け取ります。POSTやGETでやりとりを押さえますか。

次は、データの入出力 で ADOを使った(ADOで接続) と SQLの解説を少々
・[ADOでMdbファイルを使う]・・・MDBと接続して、簡単な追加・更新・削除を行った。
・[ADOでExcelと接続してみた]・・・.xlsと接続してSQLを使ってみた。
・[ADOでCSVと接続してみた]・・・.CSV テキストを読み出した。※更新・削除はできません

広告:



DBが使えるので、あまり使用しないけど、普通のテキストファイル処理
・[テキストファイル処理]・・・ファイルを開いて、書き込む。1行読み込みなどを軽く

VBScriptでFormat関数が無いなど、微妙にVBAと違うけど
[VBScript関数関係の説明]・・・少し、処理を書いてみた。
[その他処理サンプル]・・・あまり良いサンプル作れなかったけど。。。
何かの参考となれば幸いです。



[三流君(TOP ken3.org へ戻る)] / [ASPで遊ぶ、失敗する] / [ASP記事 バックナンバー目次]


広告: