2009-11-25 10 views
7

Javaアプレットをビルドする際に、ユーザーが内部メソッドを呼び出さないようにするための手順はありますか?Javaアプレットにはどのようなセキュリティを追加できますか?

理論上、ほとんどのオブジェクトを分析でき、クライアントマシン上でメソッドを呼び出すことができます。

難読化に加えて、これを防ぐのに役立つ他の手順はありますか?

私の状況は、最高得点がクライアントから直接送信されるゲームを確保することです。

+0

あなたの瓶をつかんで、それを使用するものを書く人々を止めることを意味しますか? – vickirk

+0

いいえ、この問題の懸念は、ハイスコアが偽装されてサーバーに送信されるのを止めることです。 – Pool

+0

最初はこれが絶望的だと思われますが、2番目の考えでは、あなたができる巧妙なことがいくつかあります。 +1私はここで適用されるいくつかの脳力を見たいと思うので、この質問に+1。 –

答えて

3

人間が行うことができるよりはるかに実り多い方法でゲームを自動化してプレーするのが難しい場合は、ランダムな間隔でサーバーにゲームの状態を要求することをお勧めします。 CAPTCHAのような仕組みを実装して、ゲームの話に入り込んで、Challenge-Response authenticationのレベルを小さなチューリングのようなテストにすることができます。このテストでは、プレーヤーが特定の問題を解決することによって人間であることを時々証明しなければなりませんパズル。今度は、スコアの進化を検証し、現在のシステムの状態を考慮して、レベルまたは時間単位ごとに最大スコアの事前計算式に適合しない値を拒否します。私はセキュリティ専門家ではありませんが、このすべてが潜在的な攻撃者にかなりの困難を与えてくれると思います。

+0

ありがとうございました。 – Pool

関連する問題