いくつかのクライアント サーバーに PHP スクリプトのセットを配置しており、そのサーバーの MAC アドレスを取得して保存し、PHP スクリプトが別のサーバーで使用されていないことを確認したいと考えています。
どうすればPHPを使用してコンピューターのMacアドレスを取得できますか?
PHP スクリプトが別のマシンで使用されているかどうかを判断するより良い方法はありますか?
皆さんありがとう
いくつかのクライアント サーバーに PHP スクリプトのセットを配置しており、そのサーバーの MAC アドレスを取得して保存し、PHP スクリプトが別のサーバーで使用されていないことを確認したいと考えています。
どうすればPHPを使用してコンピューターのMacアドレスを取得できますか?
PHP スクリプトが別のマシンで使用されているかどうかを判断するより良い方法はありますか?
皆さんありがとう
コードを難読化しない限り、スマート クライアントは自分の MAC アドレスを偽造できます。
編集:(単純なアイデア)
クライアントのマシンにアプリをインストールするときは、そのマシンのみに属する一意のトークンを作成する必要があります。
例:
これらをマージし、ハッシュし、保存してから、すべてのページ呼び出しでチェックします。
訪問している PC から MAC アドレスを取得する簡単な方法はないと思いますが、それについてはよくわかりません。
より簡単な方法はどうですか: セッションを使用しますか? 何もない場合はセッションを割り当てるだけで、マシンごとに 1 つになります (別のブラウザーを使用している場合を除く)。実行をそれにロックできます。
MACでロックするほど「完全に安全」ではありませんが、それでも長い道のりです...
PHPコードを実行しているWebサーバーのMACアドレスを取得したい場合:
system ('ipconfig /all')
ウィンドウと通常(フレーバーに応じて!)
system('netstat -i')
MACアドレスを含む一連のネットワーク情報が表示されます。
ただし、MAC アドレスが一致しないときにスクリプトの動作を停止すると、クライアントから嫌われることを警告する必要があります。
MAC アドレスが変更されたときの状況と、新しい「ライセンス」の申請がどのように適合するか (適合しないか) を考えてみてください。
長い間、私はツール PHTML Encoder (URL http://www.rssoftlab.com/ ) を使用してきました。このツールは PHP コードを保護し、「このマシンでのみ実行する」などの機能を設定できます。これをphp拡張機能としてインストールする必要があります。最終的にこれはあなたのための解決策です。
敬具
これを達成する最善の方法は、独自のアルゴリズムを生成してサーバーのフィンガープリントを作成することだと思います。フィンガープリントの作成に使用されるコードは、リバース エンジニアリングを防ぐために難読化する必要がありますが、可能です。
フィンガープリントごとに 1 つの値に固執しないアルゴリズム ハッシャーを作成し、値を変化させます。
プライマリ サーバーに ping を実行できるように、ハッシュ ウィッチが検証されます。
例えば
function GenerateFingerPrint($account) //Each machine has a static UNIQUE ID
{
//Create a fingerprint for the machine and machines location
//Post the $account + $fingerprint to MAINSERVER.COM
// Get hashed responce
//Decode it and validate it to continue with script.
}
しかし、これらのコードはすべて、リバース エンジニアリングによって高度に難読化する必要があります。