WEB上でSWFの場所を隠すことはできないのでしょうか?
直接アクセスされてメニューから”先送り”されると非常にまずいです。
某ゲームサイトではCGIを使用して表示しているのですが。

src="/~/cgi-bin/Flash?~"

swfファイルをバイナリ-として扱うのでしょうか?そんなこんなで困っています。
ご回答の程、宜しくお願い致します。

このQ&Aに関連する最新のQ&A

A 回答 (1件)

どういうディレクトリ構成で、どういうことをしようとしているのかが全くわからないので、的はずれな回答だったらすいません。

swf自体の姿を隠すということがどういう状態にしたいのかがわかりません。

まず、
> src="/~/cgi-bin/Flash?~"
ですが、Flashという名前の CGIを作ってそれが実行されると Flashムービーを表示するページを出力するようにしているだけでしょう。

メニューが Flashの場合は fscommandが使用できます。
次に進んだところが Flashの場合は、loadmove等で メニューの Flash内で処理できます。

この回答への補足

ご回答ありがとうございますm(_ _)m

>Flashムービーを表示するページを出力するようにしているだけでしょう。
はい、実際に試してみました。

print "Content-type: application/x-shockwave-flash\n\n";
open SWF,"$swf_path";
binmode SWF;
binmode STDOUT;
print while (<SWF>);
close SWF;

たしかにSWFファイルのパスは隠せますが、メニュー表示の有無はHTMLタグで制御しているようなので、メニューは表示されてしまいました。
とあるゲームサイトに習ってやりたかったのですが…。
一度みて頂けるとご理解頂けるのではないでしょうか、宜しくお願い致します。

参考URL:http://www.gamebox.co.jp

補足日時:2001/04/13 08:49
    • good
    • 0
この回答へのお礼

いつもお世話になっております。
難しく考えすぎてました。(^v^)>エヘヘヘヘ
単にパブリッシュされたHTMLに

<HTML>

<EMBED src="./cgi-bin/swf.pl~
</HTML>

これだけでOKでした(お恥ずかしいー)。しかしswf.plに直接アクセスされるとダメですが。色々とありがとうございました。

お礼日時:2001/04/13 11:52

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aと関連する良く見られている質問

Aベストアンサー

>画像ヘッダとはどういうものでしょうか?

Content-type: image/gif
Content-type: image/png
Content-type: image/jpeg

など、画像タイプごとに決まっています。
<img>タグに普通の画像ファイルが指定されている場合は
Webサーバが画像ファイルの拡張子から判断して返してくれ
ますが、CGIから返されるデータの種類は拡張子からは判断
できないのでCGI内部からヘッダを返す必要があります。


●CGIがPerlの場合で、GIF画像をCGIから返す例
#!/path/to/perl
print "Content-type: image/gif\n\n";
open(GIF, "file.gif");
binmode(GIF); binmode(STDOUT);
print <GIF>; close(GIF);

もちろん、CGIからは画像フォーマットを返せばいいので、
ファイルから読まずにあらかじめCGIソース内に画像データ
を持っておいて出力する方法も可能です。


ちなみに、多くのCGIではHTMLコンテンツを返す場合が多い
ので、ヘッダは以下のようになります。

print "Content-type: text/html\n\n";

>画像ヘッダとはどういうものでしょうか?

Content-type: image/gif
Content-type: image/png
Content-type: image/jpeg

など、画像タイプごとに決まっています。
<img>タグに普通の画像ファイルが指定されている場合は
Webサーバが画像ファイルの拡張子から判断して返してくれ
ますが、CGIから返されるデータの種類は拡張子からは判断
できないのでCGI内部からヘッダを返す必要があります。


●CGIがPerlの場合で、GIF画像をCGIから返す例
#!/path/to/perl
print "Content-type: image/gif\n\n...
続きを読む

Q/usr/local/bin/perl の発音

あまりにも初歩の質問かもしれませんが、
/usr/local/bin/perl
・・・を、声に出すとすると、
/ユーザー/ローカル/ビン/パール
・・・で、良いのでしょうか?

Aベストアンサー

新版 UNIX 由来/読み方辞書
http://x68000.q-e-d.net/~68user/unix/unix-term-dic.html

Q#!/usr/local/bin/perlとしたい

WindowsXP上でCGIを動作させる環境を構築しています。
しかし、サーバにアップロードする際にいちいちPerlパスを変更するのが
面倒なので、「#!/usr/local/bin/perl」と、基本的なディレクトリ指定にしたいです。
(サーバそうでなければ結局指定し直しですが)
現在、「#!c:/perl/bin/Perl」で動かしています。

どうすれば出来るでしょうか?ご教示願います。
ちなみにApacheは2.0.55です。

Aベストアンサー

c:/usr/local/bin/perl.exe
となるようにしてください。

Q#!/usr/local/bin/perlの変更。

┬ cgi_script
│   └***.cgi

└ access_g
    └11111
      └22222
        └***.cgi

今まで、cgi_scriptフォルダの直下にあるcgiファイルの一番上の行は
#!/usr/local/bin/perl
できちんと動作していました。

今は、そのcgi_scriptフォルダと同じところにあるaccess_gフォルダの中にある、
11111フォルダの下の2222フォルダの下にあるcgiファイルを実行させたいのですが、
#!/usr/local/bin/perl
をどのように変更していいかわからなくなってしまいました。

動作させたいcgiファイルはcgi_scriptフォルダの中に入れたところきちんと動作したので、
動作上の問題はないと思われます。

どうぞよろしくお願いいたします。

Aベストアンサー

それは変更する必要ないですよ。
また、動かない理由としてパーミッション設定をフォルダにもきちんと設定しているでしょうか?
CGIによってはフォルダのパーミッションをすべて「777」にしないと動かない物もあります。

QPerlの初歩の初歩の初歩(#!/usr/local/bin/perlについて)

いつもお世話になっています。
Perlを勉強し始めて1か月たっていない人間です。
調べてもよく分からず、気持ち悪いので
どうか教えてください。

Perlで記述するとき1行目にperlへのパスを書きますが
プロバイダでのパスは「#!/usr/local/bin/perl」です。
私のPC環境では「#!d:/perl/bin/perl」になります。

ある日、PC環境で動作検証するとき
間違ってプロバイダのパスのほうを記述してしまいました。
しかし、それでもPC上で動作しました。

なぜパスが違うのに動作するのでしょうか?

なお、わけの分からないまま
「Perlへのパスを通す」というのを昔
やったことがあります。関係がありますか?

ある場合、それをすると
「#!d:/perl/bin/perl」の「d:/perl/」の部分が
「/usr/local/」と同になるということなのでしょうか?

Aベストアンサー

httpdの種類や設定によっては1行目のパスを無視して動作させることが出来ます。
例えばAnHTTPDは最初からcgiの拡張子とperlを関連付けて使う仕様だった気がします。
Apache1.3(Win)もWindowsのOSでcgi拡張子とPerl.exeの関連付けがしてあれば動作させることが出来ます。


このカテゴリの人気Q&Aランキング

おすすめ情報