C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[6]: パスワードの入力チェック


(過去ログ 99 を表示中)

[トピック内 9 記事 (1 - 9 表示)]  << 0 >>

■59149 / inTopicNo.1)  パスワードの入力チェック
  
□投稿者/ ASP533151 (1回)-(2011/05/17(Tue) 13:09:26)

分類:[レガシ ASP] 

お世話になります。

.NETでは無い、ASPの画面で
パスワードの入力チェックを行いたいと思います。

チェック内容は以下です。

1,6文字以上、8文字以下か
2,英字と数字が混在しているか

サンプルなどあれば、ご教授願います。

引用返信 編集キー/
■59151 / inTopicNo.2)  Re[1]: パスワードの入力チェック
□投稿者/ やじゅ (1904回)-(2011/05/17(Tue) 13:40:57)
やじゅ さんの Web サイト
No59149 (ASP533151 さん) に返信
> 1,6文字以上、8文字以下か
> 2,英字と数字が混在しているか

「正規表現 英数字混在」で検索してみると近いのがあります。
レガシーASPでも、new RegExpで正規表現が使えるはず。

引用返信 編集キー/
■59152 / inTopicNo.3)  Re[1]: パスワードの入力チェック
□投稿者/ shu (688回)-(2011/05/17(Tue) 14:37:17)
No59149 (ASP533151 さん) に返信

ASPってVB6と同じように考えていいんでしたっけ?と仮定して。

> 1,6文字以上、8文字以下か
Len(文字列)で文字数が取得出来るので判断

> 2,英字と数字が混在しているか
Instr("0123456789", Mid(文字列, N, 1))>=0でN番目の文字が数字か判定
Instr("ABCDEF・・・XYZ", UCase(Mid(文字列, N, 1)))>=0でN番目の文字が英字か判定
最初の文字から順に判定して両方がTrueになった時点でOK、最後までどちらかがFalseならNG

引用返信 編集キー/
■59154 / inTopicNo.4)  Re[2]: パスワードの入力チェック
□投稿者/ マサヤ (320回)-(2011/05/17(Tue) 15:03:54)
ASPでよく見かけるのがVBScriptですね。
「VBScript 入力チェック 正規表現」で検索したらたくさんでてきますよ。
引用返信 編集キー/
■59156 / inTopicNo.5)  Re[2]: パスワードの入力チェック
□投稿者/ ムッシュ (1回)-(2011/05/17(Tue) 15:43:22)
No59152 (shu さん) に返信

>> 2,英字と数字が混在しているか
> Instr("0123456789", Mid(文字列, N, 1))>=0でN番目の文字が数字か判定
> Instr("ABCDEF・・・XYZ", UCase(Mid(文字列, N, 1)))>=0でN番目の文字が英字か判定

.netのメソッドに慣れるとごっちゃになりますが、Instrは、対象が見つからない時には-1ではなくて0を返しますので、
Instr(・・・)>0という判定ですね。

それよりも、やはり正規表現の方が楽ではないかと。
引用返信 編集キー/
■59157 / inTopicNo.6)  Re[3]: パスワードの入力チェック
□投稿者/ shu (689回)-(2011/05/17(Tue) 15:52:53)
No59156 (ムッシュ さん) に返信

> Instr(・・・)>0という判定ですね。
間違えてました。


> それよりも、やはり正規表現の方が楽ではないかと。
正規表現の話は出てたので別案ということで。否定をしたわけではありません。
引用返信 編集キー/
■59158 / inTopicNo.7)  Re[4]: パスワードの入力チェック
□投稿者/ 囚人 (607回)-(2011/05/17(Tue) 16:13:27)
回答じゃないですが。

そういう制限入れるとセキュリティが弱くなりますよ。
特に8文字以下っていう制限が。
引用返信 編集キー/
■59171 / inTopicNo.8)  Re[5]: パスワードの入力チェック
□投稿者/ shu (690回)-(2011/05/18(Wed) 07:40:05)
2011/05/18(Wed) 07:41:53 編集(投稿者)

一応、正規表現のパターンが出てないので

(.*[a-zA-Z].*[0-9].*)|(.*[0-9].*[a-zA-Z].*)
※[0-9]は\dでも可能

で文字数以外の方は出来るんじゃないかな。もっと短いのもあるかも?
文字数も正規表現でチェックするのは結構大変だと思われる。

3つに分けて

.*[a-zA-Z].*

.*[0-9].*

.{6,8}
のパターンの全てを満たすというチェックでも可能だと思います。


囚人さんの言うように文字数が6から8という制限がセキュリティを弱くするのは確かだと思います。

引用返信 編集キー/
■59175 / inTopicNo.9)  Re[6]: パスワードの入力チェック
□投稿者/ みきぬ (966回)-(2011/05/18(Wed) 09:47:24)
ところで、英数字以外の文字の存在は気にしなくていいのかな?
一部の記号がパスワードに含まれるのは、むしろ推奨かもしれないけども。


セキュリティの話が出ていたので、ついでに。

安全なウェブサイトの作り方
http://www.ipa.go.jp/security/vuln/websecurity.html
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -