重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

phpファイルでMySQLのDBにアクセスし、
contents=aaaaa&title=bbbbb&update_at=ccccc
という形でファイルに表示させ、それをFLASHで読み込むということ
ができるようになりました。

しかしこのphpファイルのURLをアドレスバーに直打ちされてしまうと、
contents=aaaaa&title=bbbbb&update_at=ccccc
が丸見えになってしまいます。
この内容はFLASHを通してのみ参照できるようにしたいのですが、
phpファイルの直打ち参照を防ぐにはどうすればいいでしょうか?

A 回答 (4件)

#2です。



少しだけわかったような気がします。

> FASHのbrowser.swfを介してみられるようにしたい考えています。

LoadVars クラスの sendAndLoad メソッドのことをおっしゃっているのではないかと思います。

私が LoadVars .sendAndLoad に関して回答すると,
たいてい,ロクでもないことになってしまいますので,
とりあえず,すみませんが検索してみてください↓。

http://www.google.co.jp/search?hl=ja&q=Loadvars+ …



ただし,

> contents.phpのアドレスを直打ちしたときは参照できないようにし、
> FLASHを介してみるときだけ閲覧できるようにするには
> 何か手段はないでしょうか?

contents.phpのアドレスを直打ちしたときは参照できないようにする方法は,
PHP の問題ですから,よくわかりませんよ。
Get では受け付けないとかいう方法があれば可能かもしれませんが,
その辺はよくわかりません。
    • good
    • 0
この回答へのお礼

わかりました!
#2さんの回答の「適当な変数を入れて・・・」という部分がわからなかったのですが、#3さんの補足を受けて、FLASH側にflagという
適当な名前のLoadvarsのインスタンスを作り、
my_lv = new LoadVars();
my_lv.onLoad = function(success) {
}
};
my_lv.flag = "true";
my_lv.sendAndLoad(url,my_lv,"POST");

とし、php側の表示を
if(isset($_POST['flag'])){

}
で囲むことで実現できました。
ありがとうございました。

お礼日時:2007/02/19 22:23

>****/contents.php と打ち込まれて参照されると困ってしまいます。


だからNo2はPOSTで投げたら?と言っている。
PHPで GETであったり、POSTに何も無い又は入っていなければならない情報が無い ならば何もせず終了
とすれば済むのでは?
    • good
    • 0

変数名をわけのわからない名前にして,


(わけのわからない名前にしなくても,ちょっとユニークな名前だと普通はわかりませんが,)
POST で送信すれば良いだけではないでしょうか。


ランキングの不正をさせないスクリプト
http://oshiete1.goo.ne.jp/qa2711723.html
 ↑教えて!goo  ↓OKWve (同じです)
http://okwave.jp/qa2711723.html


FLASHからアプリケーションの呼出し
http://oshiete1.goo.ne.jp/kotaeru.php3?q=1081049
 ↑教えて!goo  ↓OKWve (同じです)
http://okwave.jp/qa1081049.html

その他
http://oshiete.goo.ne.jp/search/search.php?statu …


Flash上の,
最後のボタン?をムービークリップにして,
そのムービークリップ内に変数をあらかじめ入れて置いて,
そのムービークリップに


on (release) {
this.getURL("○○.php", "_self", "POST");
}


のように, ムービークリップ.getURL() の形で書くと,
不要な変数は送信されませんから,
変数がたくさんある場合も無駄な変数が送られることもありません。


------------------------------------------

Flash ではありません,1つの例です。

ある検索エンジンの懸賞クイズみたいなものがかつてあって,
そのときは,
まずクイズ出題画面(PHP)にアクセスしたとき,
まず,「固有の番号」と「時刻」をユーザーに与えておいて,
クイズに解答したとき,
クイズの「答え」と,
「固有番号」と,
「時刻」が○分以内の時のみ『正解!』のようにしていました。
固有番号はランダムですから誰にもわかりません。
ランダムで誰もわからない数を取りあえずゲーム開始時(クイズ開始時)にユーザーに与えるとともに,
サーバー上にも記録として残しておいて最後に照合する形だと思います。

凝ればさらに色々方法があると思いますし,
そういうこと(技術)は Flash がこの世に出る前からすでに確立されているものですから,
その辺を色々調べていただくと色々方法が見つかると思います。

そういうことをしなくても,
普通は,POST だけで大丈夫だとは思いますが。

http://www.google.co.jp/search?hl=ja&q=post+%E9% …

この回答への補足

質問がわかりにくかったようですいません。
実現したいことは、aaaaaやbbbbb、cccccといった内容はユーザにコピーさせたくない情報なのでFLASHのbrowser.swfを介してみられるようにしたい考えています。

contents.phpというファイルはmysqlからのデータ取得して
画面に表示させる機能があります。urlに/contents.phpと打ち込むと
画面上にcontents=aaaaa&title=bbbbb&update_at=cccccと表示されます。

一方FLASHはbrowser.swfというファイルで、この中のテキストフィールドにcontentsやtitle、update_atといった項目を出力させる仕組みに
なっています。
よって、ユーザにcontents.phpのアドレスが知られ、直接アドレス欄に
****/contents.php と打ち込まれて参照されると困ってしまいます。

contents.phpのアドレスを直打ちしたときは参照できないようにし、
FLASHを介してみるときだけ閲覧できるようにするには何か手段はないでしょうか?

補足日時:2007/02/19 13:19
    • good
    • 0

php側でrefererを調べる




とか

この回答への補足

ありがとうございます。
チャレンジしてみたのですが、URLを直打ちした場合のrefererと
FLASHから取得しにいった場合のrefererは両方ともデータが
取得できないようで、refererで振り分けることはできないようです。

補足日時:2007/02/19 13:14
    • good
    • 0

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