2012-03-14 1 views
0

私は思いついたウェブサイトを作りたいと思っていますが、ユーザーを登録させたくありません。代わりに、PHPを使用して取得できる一意のIDが必要です。この一意のIDは、使用しているネットワークまたはそのコンピュータにある可能性があります。強制的に登録することなくユーザーを認証するにはどうすればよいですか?

私はユーザーのHWIDを取得し、それを使用していたと考えていました。それは可能でしょうか?

誰かが私にこれを行う利点と欠点を与えることができますか、また、私が使用できるもののいくつかの例を教えてください。

+0

あなたはこのウェブサイトで使用したのと同じ、なぜOpenIDを使用しないのですか? –

+0

これはクッキーと呼ばれています:)しかし、まずはPHPを知る必要があります。そしてプログラミング。そしてコンピュータ:P – Spyros

+0

@ N.B。私は実際にサードパーティのコードを使用したくありません。私は自分で物事を作り、それについて同時に学ぶことを好む。 –

答えて

4

説明していることは、PHPセッションに非常によく似ています。ユーザーには一意のIDが与えられ、サーバー側では一意のIDには変数が割り当てられます($_SESSIONスーパーグローバルの形式)。ユーザーはCookieまたは変数を使用して各リクエストに一意のIDを送信し、PHPは変数をフェッチして適切な$_SESSION配列を設定します。

これは、セキュリティ面で多少問題があります。セッションIDは盗まれる可能性があり(例えば、安全でないWiFiの場合)、サーバーは攻撃者を犠牲者と誤って識別します(管理やアクセスが制限されている場合は問題があります)。エリアを確保するために、良いユーザー名/パスフレーズのコンボを打ち負かすものはありません。

機密情報が格納されていない場合は、すべてのセッションよりも優れた解決策です。

See the PHP manual about sessions.


、ユーザは(セッションIDがクッキーを介して転送されている場合)、彼のクッキーを消去、またはGET変数の場合には(変数からURLをクリアします場合は、しかし注意してください)、セッションは終了し、ユーザーは認識されなくなります。サーバーはクライアントを絶対に識別することはできません。ユーザーがコンピュータをフォーマット/切り替えする場合はどうなりますか?また、別のコンピュータからサービスを利用したい場合はどうすればよいですか?それらの場合は、登録とログインシステムを使用する必要があります。

+2

この場合のセッションの問題は、セッションが期限切れになったときに、同じユーザーで同じユーザーを再度認証する方法がない場合です。 –

+0

はい、私はその情報を追加しました。その場合は、登録やログインなどのより永続的なものが必要です。 –

関連する問題