2012-03-04 17 views
0

こんにちは、私はYiiフレームワークで新しく、始めにユーザー登録/ログインシステムを作成し始めました。私は本当に自分のシステムが安全であることを望んでいますが、クッキーを使うことは一番安全な方法ではないことが分かりました。だから興味深い提案があります。プロのPHPプログラマーではないことを覚えておいてください。この提案にはいくつかのバグが含まれている可能性がありますが、修正すると思います。Yiiクッキーの代わりにデータベースを使用する

誰かがYiiのウェブサイトにアクセスしたときにわかるように、まずYiiはCookieを取得しようとし、既にログインしているかどうかを確認します。

ip 
remember_me 
latest_visit 

だから、なぜ我々はYiiのは、クッキーの代わりにデータベースをチェックするために任せることはできない。私は何を意味することは、我々は、データベース内のこのフィールドを持つことができるということですか?私が意味するところは、Yiiがguest ip == ipでdbとremember_me == trueをチェックし、latest_visitが7日前ではないことをYiiに確認させることです。したがって、このメソッドを使用したCookieの検証ではなく、より良い結果が得られます。その後、YiiはCookieの検証後に何をしてもかまいません。

私たちが達成しようとしているのは、クッキーを有効にしないブラウザのための方法を覚えておくことです。Cookieを盗み、ユーザーのログインシステムをより安全にする方法は、すべてのデータがサーバー側に保存され、

これを行うにはどうすればよいですか?どう思いますか?どのようにYiiはタスクを行うには?

答えて

3

IPアドレスでは物事が確実に識別されません。 DHCPリースが期限切れではなく、複数のマシンが同じアドレスから来るようにNAT(ネットワークアドレス変換)が存在する可能性があり、単一のマシンを使用する異なる人の可能性(お父さんのマシンを使用する子供)など。だから、与えられた情報で、あなたはブラウザがあなたのサイトを以前に訪れたことを証明することはできません。もちろん、一人のマシンから複数のブラウザを使用する人もいます(Firefox、Chrome、Safariなど)。 1つのためのクッキーはおそらく他の人に利用可能ではありません。

あなたが示唆していることは悲惨なことです。実用のために試してはいけません。

+0

okありがとうございます、私は間違っていたようです。問題を説明していただきありがとうございます。 – Irakli

関連する問題