ユーザーが暗号化されていないバイトコードを入手するのを防ぐためにできることは何もありません。
なし。
ユーザーのマシンは、アプレットを実行するために、暗号化されていない形式のアプレットのバイトコードを必要とします。ユーザー(十分な知識を持っている)は自分のマシンの動作を完全に制御できるため、制御は、復号化されたある時点でバイトコードを傍受できるようになると想定できます。
また、ユーザーがアプレットのバイトコードを傍受できる場合は、ユーザーがそれらを変更して、コードに入れた巧妙なものをすべて無効にすることができます。これには、バイトコードの変更を変更して、バイトコードの変更を検出するために使用するメジャーを無効にすることも含まれます。
「ブラウザで使用する必要があるように作成してから、URLからアクセスしているかどうかを確認してください」それでうまくいくでしょうか。
いいえ。ユーザーはアプレットを変更して、そのチェックを削除できます。
「phpにハッシュを含むセッション変数を作成させ、そのハッシュが存在し、ハッシュアルゴリズムと一致するかどうかを確認することもできます」
いいえ。ユーザーはアプレットを変更して、そのチェックを削除することもできます。
わかりません、解決策があるはずですか?
残念ながら、サーバー側で保護が必要なすべてのものを実行する以外に、実用的な解決策はありません。
ちなみに、この問題はJavaに限ったことではありません。技術的な知識と動機を持っている人は、Javascriptや、ユーザーにインストールしてもらうネイティブコードプラグイン(彼が十分に愚かである場合)の改ざん防止対策を打ち負かすことができます。