2012-02-13 7 views
1

PHPを使用して別々のマシンを一意に識別するにはどうすればよいですか?私はMACアドレスを使用したいと思いますが、明らかにできません。私は$_SERVER['REMOTE_ADDR']を使うことができましたが、IPアドレスは変わります(そうではありませんか?)。また、ページはブラウザからはアクセスされませんが、プログラムを使用してダウンロードされるため、Cookieを設定することはできません。個別のマシンを一意に識別する(PHP)

これは、シェアウェアのデスクトップアプリケーションソフトウェアのユーザーが各マシンの試用制限を超えてプログラムを使用することを防ぐためです(レジストリエントリを削除することで可能です)。マシンが試用期間を超えて以前に登録されていないかどうかを確認するmySQLデータベースをクラウドに追加します。

どのような考えですか?

+0

ユーザーはマシン上のサーバーでアプリケーションを実行しますか? –

+0

制限された情報からはわかりにくいですが、1回のダウンロード後に期限が切れるリソースへの1回限りのリンクを実装する必要があります。 –

+0

申し訳ありませんが、プログラムはユーザーのコンピュータで実行されます(オフラインで使用できます)。プログラムがインストールされると、GET []変数を含む私のサーバ上のPHPスクリプトにHTTPリクエストを行い、その後、IPアドレスや現在時刻などの情報とともに自分のデータベースに追加されます。私は、プログラムをもう一度インストールするのを見て、再度それらを識別できる変数を追加したいと思います。 –

答えて

0

それでは、インストールプログラムの中で、PHPスクリプトではなく、PHPに渡す価値があることを心配する必要があります。インストールプログラムからMACアドレスを取得する方法を検討することを検討してください - Xeon06

1

私はあなたが別のアプローチを試してくださいと信じています。

IPは、マシンの識別には役立ちません。私の家にはワイヤレスアクセスポイントがあり、インターネットに接続するすべてのデバイスは同じIPアドレスを持っていると思うだけです。私の会社ではプロキシサーバーを使用しており、私のPCは2つの異なるIPを交換して要求を出しています。

いくつかのソフトウェアハウスは、特定のPCでアプリケーションのロックを解除する鍵となるハードウェアカードをクライアントにインストールするよう義務付けていますが、この種のライセンスは4桁以上必要です。そして、それはひどいUXです。 OSやハードウェアの各部を再インストールするたびに、最初からロック解除プロセスを実行する必要があることを想像してください(これはしばしば、会社のサポートセンターへの電話を必要とします)。

あなたは、ユーザ名とは別に、SMSを介して一意のユーザごとの電話番号に送信された一度限りのパスワードを要求することで、二要素認証を試みることができます。 1時間あたり5回、1日に10回程度、電話番号ごとのリクエストを制限します。

また、人気のあるフリーミアムモデルを試すこともできます。無料のユーザーは最低限の機能しか持たず、有料の顧客だけが良いものにアクセスできます。

しかし、私はどのような種類のソフトウェアを提供しているのか分からないので、この種の解決策も適用されません。

関連する問題