こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

レンタルサーバー&PHP&MySQLの環境で会員限定のデータベースを作

レンタルサーバー&PHP&MySQLの環境で会員限定のデータベースを作成中です。
ログイン・ログアウトの処理を作成しているのですけど、いくつか質問させてください。

色々なサイトを巡り自分が解釈したログインの方法を書きます。
1.「会員登録画面」から会員情報を登録。(会員情報をMySQLに保存)
2.「ログイン画面」からフォーム(ID・PASS)を入力しボタンを押して認証。
3.入力されたデータを元にMySQLに問い合わせ会員情報の有無・情報の一致を判断
(情報がない場合はログイン画面へ)
4.セッションにID・PASSを保存。クッキーにセッションIDを保存。
5.会員限定ページに移動。セッションに保存してあるID・PASSを元にMySQLに問い合わせ一致するかどうかを判断。(していなければログイン画面へ)
6.セッションIDを更新する。以後ページを移動する度に一致しているかどうかを確認する。

このような感じになります。
ログアウトはセッション・クッキーを削除すればいいかなと思っています。

上記のような流れでいいのでしょうか。
いまいちセッションやクッキーに保存する内容をどうすればいいのか分かってない状態です。
又セキュリティ的にはどうでしょうか。データベースの改ざんや破壊されたら困るのである程度対策されたものを作成したいです。

ログイン時に自動ログインの有無のチェックボックスを設置してチェックされていたら2週間程度自動でログインされるようにもしてみたいです。

チェックされていたら自動ログインのkeyをランダム値で作成しクッキーとMySQLの会員情報に保存する。
ログインする度にkeyを更新する。(ページに移動する時も)
ログアウトしたらkeyを削除する。

http://blog.ohgaki.net/espcs_if_a_fa_ia_a_pa_e_oa_a_sa_da_ca_sa
↑ここのサイトを見ました。

MySQLの会員管理なのですけど、MySQL専用のユーザー登録?(権限とか)を会員毎に登録していく方がいいのでしょうか。


PHPやMySQLは最近勉強し始めたので解り易く教えて頂ければ嬉しいです。
ソースなども添えて頂けるとありがたいです。
良い回答お待ちしています。

投稿日時 - 2010-06-24 05:08:20

QNo.5991049

すぐに回答ほしいです

このQ&Aは役に立ちましたか?

13人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.2

データベースの改ざんですが
MySQLやPHP等の命令文になりうる文字をエスケープしてやればある程度は防ぐことができます。「str_replace」を使ってみてください。


自動ログインはほとんど書いてある通りで行けると思います。
有効期限を判断するところは
ログインページでクッキーの有効期限を判断し、2週間以内なら何も入力させずにログイン状態にするというのはどうでしょう?




質問の主旨は一つにまとめた方がいいと思います。

投稿日時 - 2010-07-27 15:26:56

ANo.1

私の読解力に問題があるのかもしれませんが…
全体的に「何を質問したいのか」「何を教えて欲しいのか」がわかりません。

勘違いだったら申し訳ないのですが、「自分が解釈したログインの方法」とやらに登場する単語を見る限り、SESSION管理についての基本的な知識が無いように見受けます。

>データベースの改ざんや破壊されたら困るのである程度対策されたものを作成したいです。
少なくとも「自分が解釈したログインの方法」とやらを読むだけではそれは判断出来ません。
入力チェック、インジェクション対策、XSS対策、その他の対策について一切触れていらっしゃらないのですから。

>ソースなども添えて頂けるとありがたいです。

質問の中にある「仕様っぽい何か」に沿ったソースを添えるというのなら、タダでやってくれる人はなかなか居ないと思うので、この掲示板ではなく、請け負ってくれる業者を探してみたほうが早いと思います。
10万~30万程度でやってくれる業者もあるのではないでしょうか。

投稿日時 - 2010-06-24 06:39:39

あなたにオススメの質問