三原克大
[E-Mail]
2000/03/25(土) 11:43:02
# Java applet は少々分かるけれども CGI はさっぱりです。
CGI でバイトコードをそのまま送信するところまではいいとして、
# GIF, JPEG, PNG が CGI で送れるのですから
# Java バイトコードも送れるはずです。
受け取ったブラウザがきちんと解釈してくれるかが問題です。
これは、実験してみないと分かりません。
HotJava, Netscape, Internet Explorer は
.class が text/plain として送られてきても
解釈できるみたいですけれど
# だから、いきなり Java applet を置くことができました
だからかえって挙動が分からないところもあります。
例えば、エラーメッセージが送られてきたらどうしてるかとか。
もっと詳しい方がいらっしゃればよい(うれしい)のですが、
このサイトは Java 嫌いな方が多いようですし。
あとは、サーバによる参照元の判定がどのくらい正確かが問題です。
これは "HTTP_REFFER" をキーワードにして
ラウンジを検索するのがいいんじゃないでしょうか。
なぜって、
他人の Java applet を借りるのに、
ダウンロードして自分のサーバに置く必要はないんですから。
<applet> の中に、 CODEBASE 属性で
他人の Java applet が置かれているサーバを指定すれば
他人のサーバからバイトコードを取得して実行できるんです。
# これを知らない人は多いみたいです
# Java applet はむしろそういう使い方を想定しているような気が...
rec さんの要望を考えると
参照しているページの URL によって
送信するしないを振り分けなければなりませんが、
十分に正確に振り分けられるかどうかが問題です。
三原克大
[E-Mail]
2000/03/28(火) 13:45:17
> http://java-house.etl.go.jp/ml/archive/j-h-b/002380.html
> にもう一つの直リンク対策がのってました。
私の目から見たら、このままでは直リンク対策になっていません。
ここで使われている getCodeBase() は、<applet> の
CODEBASE 属性を取得するメソッドですから、
<applet> で CODEBASE 属性を指定して直リンクすれば
すんなり通ってしまいます。
これを、getDocumentBase() に変えれば
アプレットが埋め込まれているドキュメントの URL を取得できるので
目的を達成できるはず。
# しかし、あの風間さんがフォロー投稿で内容に触れていないので
# もしかしたら私の認識が間違っているかもしれないと不安...
> アプレットをDLし、そのファイルを逆アセンブルして、HTTP_REFERERのチェック部分を外す…
> ということなんでしょう。
ですねえ。HTTP_REFERER をチェックしてはいないのですが。