• ベストアンサー
  • すぐに回答を!

phpファイルを直接参照できないようにするには?

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

共感・応援の気持ちを伝えよう!

  • 回答数4
  • 閲覧数340
  • ありがとう数2

質問者が選んだベストアンサー

  • ベストアンサー
  • 回答No.4
noname#35109
noname#35109

#2です。 少しだけわかったような気がします。 > FASHのbrowser.swfを介してみられるようにしたい考えています。 LoadVars クラスの sendAndLoad メソッドのことをおっしゃっているのではないかと思います。 私が LoadVars .sendAndLoad に関して回答すると, たいてい,ロクでもないことになってしまいますので, とりあえず,すみませんが検索してみてください↓。 http://www.google.co.jp/search?hl=ja&q=Loadvars+sendAndLoad&lr=lang_ja ただし, > contents.phpのアドレスを直打ちしたときは参照できないようにし、 > FLASHを介してみるときだけ閲覧できるようにするには > 何か手段はないでしょうか? contents.phpのアドレスを直打ちしたときは参照できないようにする方法は, PHP の問題ですから,よくわかりませんよ。 Get では受け付けないとかいう方法があれば可能かもしれませんが, その辺はよくわかりません。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

わかりました! #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'])){ } で囲むことで実現できました。 ありがとうございました。

その他の回答 (3)

  • 回答No.3
noname#39970
noname#39970

>****/contents.php と打ち込まれて参照されると困ってしまいます。 だからNo2はPOSTで投げたら?と言っている。 PHPで GETであったり、POSTに何も無い又は入っていなければならない情報が無い ならば何もせず終了 とすれば済むのでは?

共感・感謝の気持ちを伝えよう!

  • 回答No.2
noname#35109
noname#35109

変数名をわけのわからない名前にして, (わけのわからない名前にしなくても,ちょっとユニークな名前だと普通はわかりませんが,) 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?status=select&MT=post&ct_select=1&ct0=205&ct1=221&ct2=564 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%80%81%E4%BF%A1&lr=

共感・感謝の気持ちを伝えよう!

質問者からの補足

質問がわかりにくかったようですいません。 実現したいことは、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を介してみるときだけ閲覧できるようにするには何か手段はないでしょうか?

  • 回答No.1
noname#39970
noname#39970

php側でrefererを調べる とか

共感・感謝の気持ちを伝えよう!

質問者からの補足

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

関連するQ&A

  • PHPでDBからデータを抽出してHTMLで表示する

    クライアント上で表示されているHTMLのテキストボックスに入力された文字列をホストに送信し、送信した文字列をSQLの抽出条件に設定してDB(MySQL)に登録しているデータ一覧をPHPで取得後、取得したデータ一覧をクライアントのHTMLのTABLEに一覧で表示したいのですが、どのようにPHPとHTMLをプログラムすればよいでしょうか? イメージ MysSQL テーブル カラム1|カラム2|カラム3| AAAAA|BBBBB|CCCCC| BBBBB|BBBBB|CCCCC| DDDDD|BBBBB|CCCCC| HTML テキストボックス カラム1「AAAA」 検索実行↓ HTML テーブル カラム1|カラム2|カラム3| AAAAA|BBBBB|CCCCC| AAAAA|BBBBB|CCCCC| 素人染みた質問で申し訳ございませんが、ご存知の方がいらっしゃいましたら終えてください。 以上

    • ベストアンサー
    • HTML
  • PHPでDBからデータを抽出してHTMLで表示

    こんにちは。 PHP初心者のものです。 クライアント上で表示されているHTMLのテキストボックスに入力された文字列をホストに送信し、送信した文字列をSQLの抽出条件に設定してDB(MySQL)に登録しているデータ一覧をPHPで取得後、取得したデータ一覧をクライアントのHTMLのTABLEに一覧で表示したいのですが、どのようにPHPとHTMLをプログラムすればよいでしょうか? イメージ MysSQL テーブル カラム1|カラム2|カラム3| AAAAA|BBBBB|CCCCC| BBBBB|BBBBB|CCCCC| DDDDD|BBBBB|CCCCC| HTML テキストボックス カラム1「AAAA」 検索実行↓ HTML テーブル カラム1|カラム2|カラム3| AAAAA|BBBBB|CCCCC| AAAAA|BBBBB|CCCCC| 素人染みた質問で申し訳ございませんが、ご存知の方がいらっしゃいましたら終えてください。 以上

    • 締切済み
    • PHP
  • ファイルを移動するためのバッチファイル

    テキストファイル(1行に1つのファイル名が書かれていて、ファイルの数だけの行があるテキスト)を読み込み それをもとに、パス指定した参照先ディレクトリより、1つずつファイルを取得し、 パス指定した保存先ディレクトリに保存していくという、ファイルを移動(コピー)するためのバッチファイルを作りたいのですが どのようなコマンドを記述すればよいでしょうか? (できれば、MS-DOSのバッチファイルだと助かります) 例 [list.txt] aaaaa bbbbb eeeee [参照先] aaaaa bbbbb ccccc ddddd eeeee ↓ [保存先] aaaaa bbbbb eeeee

  • 3つ以上の外部結合から抽出するSQL構文

    次の3つのTABLEから期待する結果(結果を参照)を導きたいのですがJOIN等を使用しても期待と異なります。SQLを教えて下さい。結果は、SELECTでもVIEWでも構いません。一つのSQLでなくても構いません。 ●テーブル構成 テーブル名 - TB_A- -----TB_B--- ----TB_C----         ------ ------------- ------------- 列名     EMPNO EMPNO DATA1 EMPNO DATA2 レコード1   000001 000002 AAAAA 000001 AAAAA レコード2   000002 000002 BBBBB 000002 BBBBB レコード3   000003 000002 CCCCC 000003 CCCCC ●結果 列名     EMPNO DATA1 DATA2 レコード1   000001 ???????? AAAAA レコード2   000002 AAAAA BBBBB レコード3 000002 BBBBB ???????? レコード4   000002 CCCCC ???????? レコード5   000003 ???????? CCCCC

  • $_SERVER["PHP_SELF"]などでURLについているGETの値を引き継ぎたい

    PHP 5.2.2 上下に分かれたフレームページで、上段が検索フォーム、 下段が検索結果リストという構成のサイトを作っています。 検索条件を設定し、GETで下段に送ります。 下段に書き出されたHTMLをIE7の右クリックでプロパティをみると、 URLは、ちゃんと以下のようにパラメータがぶら下がっています。 http://www.example.jp/temp/mypage.php?aaaaa=1&bbbbb=2&ccccc=3 ところが、 echo $_SERVER["PHP_SELF"] とやっても、 /temp/mypage.php としか書き出されません。ここは、 http://www.example.jp/temp/mypage.php?aaaaa=1&bbbbb=2&ccccc=3 と書き出されてほしいのですが。 php.iniの設定を変えるとか、$_SERVER["PHP_SELF"]を別のサーバー変数に するとかで、何とか「?aaaaa=1&bbbbb=2&ccccc=3」この部分を 引き継ぎたいのですが、何か方法はありませんか。 先日、http://oshiete1.goo.ne.jp/qa4397672.htmlのご回答をいただき、 http://oshiete1.goo.ne.jp/qa1612121.htmlのNo2さんのを実装するために 検索条件を引き継ぎたいのです。

    • ベストアンサー
    • PHP
  • 外部phpファイルを読み込むことができない

    ネットで検索し続けても本を買ってもどうしても解決しないのです。 教えてください。 やりたいことはMySQLのデータベースにphpでアクセスしに行き、 phpファイル上に contents=ああああああ と表示させたものを Flashで読み込んでテキストフィールドに表示させるということです。 ソースは次のようになっています。(FLASH上のテキストフィールドは「textarea」です。) onClipEvent (load) { my_lv = new LoadVars(); my_lv.onLoad = function(success) { if (success) { textarea.text = my_lv.contents; } else { textarea.text = "読み込みに失敗しました。"; } }; my_lv.load('contents.php?id=1'); } 基本的なLoadvarsのサンプルのようですが、contents.php?id=1が 読み込めません。(contents.php?id=1に直接アクセスすると contents=あああああああああ と表示されます) このcontents.php?id=1をcontents.txtのようにテキストファイルにして my_lv.load('contents.txt');とするとすんなりと読み込めます。 FLASHのバージョンは8で、httpsのサイト内で表示を行おうとしています。ファイルのパーミッションをすべて777にしてもだめでした。また、contents.phpを絶対パス指定してもだめでした。 おそらくちょっとしたことだと思うのですが、もう何日もはまっています。どなたか教えていただけないでしょうか?

    • ベストアンサー
    • Flash
  • jarファイル内のクラスをインスタンス化する

    http://homepage3.nifty.com/satoshis/java/memo.html#extension 上記のサイトを参考に、jarファイル内のクラスをインスタンス化しようとしているのですが、 clazz.newInstance(); を実行しようとすると、以下のようなエラーが発生します。 java.lang.IllegalAccessException: Class jp.co.AAAAA.BBBBB can not access a member of class CCCCC with modifiers "" at sun.reflect.Reflection.ensureMemberAccess(Reflection.java:57) at java.lang.Class.newInstance0(Class.java:302) at java.lang.Class.newInstance(Class.java:261) at jp.co.loft.LogCut.main(LogCut.java:58) ※jp.co.AAAAA.BBBBB は実行クラス、CCCCCはjarファイル内のクラスです。 開発環境は、以下です。 eclipse2.1.1 + jdk1.5.0_02 どんな些細なことでもよいので、ご存知の方、ご教授願えないでしょうか。 よろしくお願いいたします。

    • ベストアンサー
    • Java
  • COBOLプログラムからC関数を呼び出す方法

    Cプログラムをプリコンパイルした後、コンパイルした際にできる「.obj」ファイルを、ひとかたまりのライブラリファイルにすることは可能でしょうか? 「aaaaa.pc」 →prec→ 「aaaaa.c」 →cl→ 「aaaaa.obj」作成 「bbbbb.pc」 →prec→ 「bbbbb.c」 →cl→ 「bbbbb.obj」作成 「ccccc.pc」 →prec→ 「ccccc.c」 →cl→ 「ccccc.obj」作成 aaaaa.obj,bbbbb.obj,ccccc.obj から libraryファイル作成 もともとUNIX上でコンパイルした「.o」ファイルより「library.a」ファイルを作成し、COBOLプログラム(呼び出し元)のコンパイル時にリンクさせておりました。 それをWINDOWSで行いたいと思っております。 コンパイルはBATファイルを作成(Oracleインストール時にあった、pcmake.batをカスタマイズ)して、「prec」コマンドでプリコンパイルして、VisualStadioのC++をコマンドライン「cl -c(リンクなし)」でコンパイルして、最終的に中間ファイル「.obj」を作成しております。 ご説明が分かりにくくて申し訳ございませんが、具体的な方法・ご指摘がございましたら、宜しくお願い致します。

  • 秀丸のマクロでカラムごとの処理

    aaaaa,bbbbb,ccccc,ddddd,eeeee 上記のようなCSVファイルで、2カラム目のbbbbbと 4カラム目のdddddの文字を変換するという場合 どういったマクロになりますでしょうか? よろしくお願いします。

  • 秀丸エディタ・マクロの質問です

    秀丸エディタを使用して、以下のマクロの作成のやり方を教えてください。 元ファイルから必要なデータの抽出・計算を繰り返して下記の例のような形式で表示したいです。 (ここではAAAAA・BBBBB・CCCCC・DDDDD・hijkの表記のある行を抽出し、 「BBBB-AAAAA+1」「DDDDD-CCCCC」の結果をかかった時間1:、かかった時間2:の横に表記する。 これらの作業を10000件以上繰り返す。 ------------------------------------------------ 例)元ファイル 2013/3/6 10:10:10.100 AAAAA 2013/3/6 10:10:10.110 BBBBB 2013/3/6 10:12:12.120 hijk 2013/3/6 10:14:14.140 CCCCC 2013/3/6 10:14:14.150 DDDDD 2013/3/6 10:15:15.130 abcde 2013/3/6 10:15:16.100 AAAAA 2013/3/6 10:15:16.108 hijk 2013/3/6 10:15:16.110 BBBBB 2013/3/6 10:15:18.150 lmn 2013/3/6 10:15:19.140 CCCCC 2013/3/6 10:15:19.150 DDDDD … …(省略:10000行以上) … 2013/3/6 11:18.20.150 DDDDD ------------------------------------------------ 例)ほしい結果 2013/3/6 10:10:10.100 AAAAA 2013/3/6 10:10:10.110 BBBBB 2013/3/6 10:12:12.120 hijk 2013/3/6 10:14:14.140 CCCCC 2013/3/6 10:14:14.150 DDDDD かかった時間1:11msec(2行目-1行目+1) かかった時間2:10msec(5行目‐4行目) 2013/3/6 10:15:16.100 AAAAA 2013/3/6 10:15:16.108 hijk 2013/3/6 10:15:16.110 BBBBB 2013/3/6 10:15:19.140 CCCCC 2013/3/6 10:15:19.150 DDDDD かかった時間1:11msec(9行目-7行目+1) かかった時間2:10msec(12行目‐11行目) … …(省略:10000行以上) … ------------------------------------------------ 現状で以下の2つのマクロを作成しました(元ファイルで実行します) マクロ1.「AA…~DD…」を含む行の抽出+「かかった時間1:、かかった時間2:」の表記をDDDDDの下に挿入するマクロ マクロ2.時間のみの抽出を行うマクロ(下5ケタのみ 例:10100 小数点は削除) これら2つのマクロを同時に動かし、最終的に上記のような形式にまとめる予定です。 (もしかしたら1つのファイルで動かせるのかもしれませんが、わからなかったので二つにわけました;;) 現在、マクロ2.で抽出した時間からどのようにして「BBBB-AAAAA+1」「DDDDD-CCCCC」を 行えばいいか、また、計算した値をどのようにして「かかった時間1:、かかった時間2:」の 横においていけばいいかがわからない状態です。 マクロ自体さわったことがなく、もう一週間悩んでいます。 どなたか馬鹿な私に教えていただけないでしょうか