2010-11-26 8 views
1

私はあなたがPHPでユーザーのIPアドレスを取得できることを知っていますが、他の方法でユーザーを識別するために使用できる他のヒント/トリック/スクリプトはありますか?ユーザーを識別する他のPHPトリック

+5

どのように識別しますか?人として? –

+4

どのように識別しますか?認証、広告の追跡、個人的には? – Rup

+0

IPは固有の識別子です(アクセス時)。何が必要なのですか? – jwueller

答えて

2

SBSとActive Directory/LDAPシステムを実行しているかどうかは不明ですが、Windowsログインに基づいてユーザーに関する詳細情報を引き出す方法があります。http://php.net/manual/en/reserved.variables.server.php

ます:

$_SERVERは、ユーザーがでサイトにアクセスしているブラウザ上での情報が含まれています。このトピックに関するウェブ上のそこがたくさんありますgetbrowser()を使用して、その情報を人間が読める形式に解析することもできます。http://php.net/manual/en/function.get-browser.php

0

最終的には、認証システムを設定してログインさせるのが最善の方法です。

また、使用しているIPやブラウザなど、さまざまな種類のデータに基づいてユーザーを特定することもできます(つまり、userip = ip & & userbrowser == browser ...)しかし、これはすべて回避するのは簡単です。

比較可能な他のデータについては、$ _SERVERグローバルを確認してください。

認証システムを実装することを強くお勧めします。これが、ユーザーを識別する最も良い方法です。

3

私の会社が作成しているウェブサイトに投票とコンテストがあり、匿名ユーザーは1日1回投票することができます。これを解決する方法として提案があった。確認メールを経由して

  1. 認証(クリックする一意のリンクを電子メールで送信する)
  2. IPアドレス
  3. クッキー

E-メールは失敗することはありませんが、ユーザーは多数のメールアドレスを持つことができますし、フォームを記入したり、メールを開いたり、リンクをクリックしたりすることも面倒です。

ADSLユーザーは、インターネットに接続するたびに(少なくとも私の国内最大のADSLプロバイダーとは)、異なるIPを持つことが多いため、IPは信頼できません。さらに、プロキシは問題です。

クッキーは簡単にクリア/無効にすることができます。さらに、複数のブラウザがインストールされている場合、ユーザーは何度も投票することができます。クッキーがJSを介して設定されている場合、JSを無効にしたブラウザもこれに耐性があります。

#2と#3の組み合わせが最良のトレードオフであると判断しましたが、完璧な方法はありません。

0

それは内部だけのウェブサイトのためだなら、あなたはIDENTを使用することができます - また、RFC1413を参照してください。 PHPベースの実装があります(Googleを試してみてください)。これは、クライアントがコードが実行されているWebサーバーからアクセス可能なidentサーバーを実行している必要があることに注意してください。あなたはどのOSがクライアントであるかは言わない。Linux、Unix、Apple Mac、MSWindowsで利用可能なidentサーバがある。 ident応答は認証されず、(比較的)簡単に偽造することができます。

問題のマイクロソフトのソリューションはNTLMですが、正しく管理するにはPITAです。

関連する問題