現在自分のWebサイト*1でJava Appletを使ったゲームを設置しています。

本来ならゲームが起動して成功!となるはずが失敗します。
理由としては、直接リンク防止を.htaccessでしているからだと思います。
自分のサイト内からではないリファラーで /x/ *2 ディレクトリ以降にアクセスがあった場合はじくようにしていて、
Java Appletからファイルを読み込むさいにリファラーがない(直接リンク)ため開くことができないのです。
よい対処法はありませんか?


*1 URL: http://dw-j.com/
*2 /=(ドキュメントルート)

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2005/07/03 15:05:54
  • 終了:--

回答(2件)

id:jouno No.1

jouno回答回数280ベストアンサー獲得回数02005/07/03 17:22:57

ポイント30pt

http://x68000.q-e-d.net/~68user/net/java-http-url-connection-1.h...

Java で HTTP クライアントを作ってみよう (2)

リファラをつけて取得するにはひとつめのURLのように、明示的にリファラを指定してhttpアクセスをしてはどうでしょう。具体的にはここです。


urlconn.setRequestProperty(”Accept-Language”, ”ja;q=0.7,en;q=0.3”);


これと同じ形式で、”Referer”,”http://gdgdgdg”という感じです。


二つ目はヘッダーの問題かどうかの検証にヘッダーをみるためのリンクです。

http://kinshachi.ddo.jp/kurage/html/MT/comp/archives/000316.html

コンピュータ系blog: HTTPリクエスト/レスポンスのキャプチャ

id:tpichu

なるほど。

でも、残念ながら配布されているもの のためソースがありません・・・。

2005/07/03 17:26:04
id:izayoimizuki No.2

izayoimizuki回答回数302ベストアンサー獲得回数02005/07/05 16:29:47

ポイント30pt

Java Applet及びPlug-inを使った場合リファラはnull(何も無い)になるのが正しい挙動です。

なぜならばPlug-inやJavaVMはブラウザ自身ではなくちょうどMS-DOSプロンプトで”実行ファイル名” ”開きたいファイル”と同じで直接アドレスを入力して開いているのに同じです。

そのためリファラを送らないのではなく送りようが無いのです。


.htaccessによる外部サイトからのアクセス拒否をする限りはアクセスできません。

http://www.mytools.net/cgitools/filesafe0.htmlといったCGIやPHPベースのアクセス制限ツールに変えましょう。

id:tpichu

まぁ、確かにそれは当然ですね。

PerlやPHPベースでも悪くはないんですがねぇ・・・。

フォルダ構成がややこしくなりますし・・・

2005/07/05 18:53:08

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません