2009-08-30 15 views
1

私はゲームのウェブサイトのための "反チート"システムを作成するタスクがあります。彼らは参加し、不正行為をしたり、IP禁止を取得したり、プロキシを使用して再び不正行為をするような問題を抱えています。ユニークなコンピュータID @ Javaアプレット

私の仕事は、IPアドレスを切り替えるだけでIP禁止を回避する人々を避けるために、ネットワークカードまたはマザーボードのシリアル番号などのMACアドレスを取得するJavaアプレットを構築することです。しかし、私は持っているだけで、これまでにはハッキーな解決策が見つかっていて、今はアイデアが不足しています。

私の質問には、Javaアプレットでこのようなことをする方法がありますか、制限するサンドボックスですか?

+1

なぜ不正行為を防ぐのではないですか? MACアドレスは一意ではなく、簡単に変更できます。根本的な問題を解決することはできませんか? –

+0

私はそれがユニークではないことを知っていますが、不正をしている14歳の少年にとっては難しいと思います:)そして、サイトは戦場、CS、地震をホストしています...ただのホストです。 –

答えて

1

あなたがチェックアウトすることがあります:ユーザーのコンピュータ上の制限されたサンドボックス内の

http://www.securingjava.com/chapter-two/chapter-two-2.html

アプレットの実行は、あなたがそれらを取得することができ非常に少ない情報があります。

更新:これを行う方法はありません。あなたのアンチチートソフトウェアがインストールされているコンピュータに実行可能ファイルをインストールするようにユーザーに依頼するかもしれませんが、ほとんど現実的ではありません。 MACアドレスを取得する

+0

MACアドレスを取得する方法が間違っています。 –

1

発見ソリューションは、十分であろう。
http://rizwanshah.blogspot.com/2009/04/restrict-web-page-access-based-on-mac.html

NetworkInterface ni = (NetworkInterface) e.nextElement(); 
byte[] mac   = ni.getHardwareAddress(); 

if(mac != null && !ni.isLoopback() && !ni.isVirtual()) { 

     String[] tmp = {ni.getName(), 
         String.format("%02X:%02X:%02X:%02X:%02X:%02X\n", 
             mac[0],mac[1],mac[2],mac[3],mac[4],mac[5])}; 

     NWInterfaces.add(tmp); 
} 
0

私は一意のコンピュータともUSBマウスを識別し、その後のパスワードを生成するためにこれを使用してEasySecuredと呼ばれるソリューションを開発しましたドメイン

しかし、この解決策はwindows/activex/IEであり、Linux/Macまたは他のブラウザでは動作しません。

EasySecuredは、クライアントのハードウェア情報をキャプチャするためにActiveXを使用します。

私はJavaや他のネットプログラミングツールで互換性のある機能を見つけようとしました。しかし、これまでのところ運がない。

あなたがWindows/ActiveXを嫌う人なら、EasySecuredを試すことができます。それは確実にクライアントコンピュータを識別し、クライアントやハッキングされるのを待っているサーバーにもパスワードを保存しません。