人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

会員登録で必要なID、パスワード、メールアドレスあるとします。
ログイン時はIDとパスワードを使ってログインします。

MySQL(またはその他のDB)でのフィールド構成はどのようにしていますか?

私は下記のようにしています。
+----------------------+---------------+--------------+---------+
| (テーブル名)_id | user_id | password | email |
+----------------------+---------------+--------------+---------+


別の方法や、「こうした方が良い」等の
ご指摘・アドバイスがありましたら、教えていただければと思います。

●質問者: kt26
●カテゴリ:ウェブ制作
✍キーワード:dB MySQL password アドバイス パスワード
○ 状態 :終了
└ 回答数 : 4/4件

▽最新の回答へ

1 ● KUROX
●23ポイント
(テーブル名)_id user_id password email

利用目的が不明だが、(テーブル名)_id は必要ないと思う。

◎質問者からの返答

利用目的は個々にゆだねます。あくまでも会員登録時の「例」ですので。


それから、(テーブル名)_idはauto_incrementで識別番号を振る為に用意しています。


2 ● きゃづみぃ
●23ポイント

パスワードは、万が一のため、暗号化して保存したほうがいいでしょう。

デコードの仕組みも、一部の人にしか わからないものにしたほうがいいです。

質問にあがっている項目は、それでいいと思います。

あとは、最終ログイン日付などあったほうがいいかもしれません。

または、ログイン回数など。

そのシステムの内容や目的によって 必要な項目は変わってきます。


3 ● b-wind
●22ポイント

フィールド構成ってどこまでを指しているのかは良く分からないけど、とりあえずそれぐらいのフィールドは大体作る。他はサイトによって異なる。

あえて言うなら、last_login を datetime 型で作るぐらいか。


4 ● matsu-boolean
●22ポイント

自分が作るときは(テーブル名)_idはつけないですね。ただし、user_idが変更される可能性のあるカラムなら、(テーブル名)_idを主キーとしてつけると思います。

パスワードは、ハッシュ関数(SHA1とか)で、元に戻せない状態にして保存すればいいと思います。また、パスワードが同じ人がいるときにハッシュ値が同じになるのが良くないので、実際には user_id+passwordの値をハッシュ化して格納すればいいと思います。

認証処理では入力されたuser_id+passwordをハッシュ化したものと、passwordカラムに保存された値を比較すればよいということです。

この方式の場合、万一 password カラムが覗かれてもパスワードが分かず、ユーザー認証画面からの不正ログインが出来ない利点があります。(まあ、DB覗かれてる時点でダメなんですが…)

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ