- ベストアンサー
会員制サイトのセキュリティについて
ある会員制のサイトを作っているのですが、ログイン部分やセッションなどについて、今ひとつ自信がないので質問させていただきます。 1.ユーザー名とパスワードを登録してもらい、パスワードはMD5で暗号化した上で、MySqlに保存。 2.ユーザー名とパスワードを入力してもらい、MySqlの内容と照合し、正しかったら、ユーザー名をセッション変数に入れる。 3.サイト内各ページで、セッション変数によって本人確認を行う。 以上のような仕組みなのですが、何か問題点はありますでしょうか。 特に3番目でセッション変数にそのままユーザー名を入れるというのは、なりすましをされる危険性などはないでしょうか。 ご回答宜しくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
> 以上のような仕組みなのですが、何か問題点はありますでしょうか。 仕組み上は特に大きな問題はないと思います。 > 特に3番目でセッション変数にそのままユーザー名を入れるというのは、なりすましをされる危険性などはないでしょうか。 「なりすまし」を防ぐためには暗号化+認証を行う以外にはありません。 最も簡単に暗号化+認証を導入できる方法は SSL です。 もちろんサーバ証明書を入手する必要はありますが・・・。
その他の回答 (2)
- LACOMS
- ベストアンサー率65% (15/23)
2.についてですが、SQLインジェクション対策が必要になるかもしれません。ユーザ名やパスワードに特殊な文字列を追加してSQLを偽造してデータベースを操作しようとするものです。これで、不正にログインされたり、データベースの不正操作が行われる可能性があります。 詳しくは、以下のURLを参考にしてください。 http://www.atmarkit.co.jp/fsecurity/rensai/webhole02/webhole01.html
お礼
SQLインジェクションですが、一応プレースホルダを使って、対策をしていますが、気をつけたいと思います。 ご回答ありがとうございました。
- toro777777
- ベストアンサー率16% (43/257)
そんなに心配ならたえずパスワードチェックもしたらどうですか? 後は単純な会員サイトならWebサーバ側のベーシック認証を 使うとか
お礼
ご回答ありがとうございました。
お礼
>最も簡単に暗号化+認証を導入できる方法は SSL です。 現在SSLが使える環境ではないのですが、検討してみます。 ご回答ありがとうございました。