• ベストアンサー

regsiter_globalsがoffの場合の処理

regsiter_globalsがoffの場合の 引数の渡し方と受け取り方を教えていただきたいです。 regsiter_globalsがonの場合は、 「http://****/test.php?test=1」 こんな感じでできたのですが、 offの場合はどのようにすれば良いのでしょうか? 参考になるページでも良いので、教えてください。 よろしくお願いします。

  • 6ma6
  • お礼率38% (5/13)
  • PHP
  • 回答数1
  • ありがとう数1

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

  • ベストアンサー
  • gaball
  • ベストアンサー率61% (27/44)
回答No.1

offの時は $testで参照していたものを onの時は $HTTP_GET_VARS['test'] で参照すれば大丈夫だと思います。 参考URLをご覧ください。

参考URL:
http://www.php.net/manual/ja/security.registerglobals.php
6ma6
質問者

お礼

できました。 ありがというございます。

関連するQ&A

  • register_globalsがOFFの状態で処理をさせる方法

    今現在、register_globalsがデフォルトでOFFだ というのは知っていますが、 実際にONを前提に書いている人、私も含めて多いと思いますが、 どうやって代替させるのかを 具体的に書いているサイトを知っていましたら、 教えて下さい。 色々なサイトを見ても、問題点は書いているけど、 代替方法があまり書いていないので、 どうすればいいのかよく分からず、 OFFに切り替えたいけど、 出来ない状態でいます ($_POST["***"]等を使うのは見ますが)。 hiddenを使うのは推奨されないということでしょうか? 値の引き渡しをしないで、 どうやって処理させるのか、 リンクで直接パラメーターを書くのも推奨されないと いうことでしょうか? 例: http://www.***.jp/index.php?***=**&***=1 是非ともご回答をお待ちしています。

    • 締切済み
    • PHP
  • register_globalや$$という変数について・・・

    PHPの勉強を始めて2週間足らずの初学者です。 質問させていただきます。 環境はwindowsXP+xampp+PHP5.2です。 現在、やや古めのPHP書籍のサンプルを試しています。 register_globals=Onの状態では、問題なく動作しました。 しかし、Offにすると反応しない部分があります。 test.phpにてsupport.phpをincludeしているのですが、 以下の箇所をそれぞれregister_globals=Off用に書き換える知恵が ありません。ほんの一部のみの抜粋にて恐縮ですがご査収願います。 ---「test.phpの一部」----------------------------------------- echo '<INPUT TYPE="radio" NAME="',$name,'"VALUE="',$kaitoubango,'">',"$val\n<br />";} ---「support.phpの一部」-------------------------------------- $kaitoubango++; $name = $kaitoubango; $val = $$name; -------------------------------------------------------------- 繰り返しになりますが、register_globals=Onの状態では、問題なく動作しましたが、Offでこの状態でフォームアクションしても$val = $$name;に値がありません。 「support.php」の$$nameを$_POST['name']に変更すれば、可能かと思いましたが、ダメでした。 なお、部分的な質問になりますが、 (1)「test.php」のNAME="',$name,'"VALUE="',$kaitoubango,'"ですが、 何故、NAME="$name" VALUE="$kaitoubango"でないのでしょうか? 「',」は何を意味しているのでしょうか? (2)「support.php」の$$nameという変数ですが、$が2つ連続した変数は今のところ、初めて見ました。これはどういう意味なのでしょうか? お詳しい方がおられましたら、何卒アドバイスのを頂戴できればと思います。よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • htaccessで指定したURLが含まれる場合

    htaccessの設定でリダイレクト処理をしたいと思っています。 したい内容は 「指定したURLが含まれる場合、リダイレクト」 です。 現在、phpで下記の通り引数を使用してサイトを表示しています。 http://www.sample.jp/test.php?id=1&page=1 http://www.sample.jp/test.php?id=1&page=2 http://www.sample.jp/test.php?id=1&page=3 http://www.sample.jp/test.php?id=2&page=1 http://www.sample.jp/test.php?id=2&page=2 http://www.sample.jp/test.php?id=2&page=3 上記、URLで 引数id=1のページにアクセスがあった場合、新ドメインの http://www.ex.jp/test_page/ へリダイレクトし、 引数id=2のページにアクセスがあった場合、新ドメインの http://www.ex.jp/sample_page/ にリダイレクトしたいと思っています。 現状は1つずつ RedirectPermanent /test.php?id=1&page=1 http://www.ex.jp/test_page/ RedirectPermanent /test.php?id=1&page=2 http://www.ex.jp/test_page/ RedirectPermanent /test.php?id=1&page=3 http://www.ex.jp/test_page/ としていますが、これをid=1のページを全て一括で http://www.ex.jp/test_page/ へリダイレクトする書き方はないのでしょうか。

  • 何を言いたいのでしょうか!?

     以下の意味ですが、わたし的(素人)には何を言いたいのか、物に例えると、輪郭程度でしたらわかります。  具体的に何を言いたいのでしょうか!?(PHP教本にありました。)   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ $GLOBALS グローバルスコープに定義された変数名をキーとして連想配列を持ちます。 <?php $globals_test = 1; echo $globals_test,PHP_EOL; (1) echo $GLOBALS[‘globals_test’],PHP_EOL; (2)  (1)と(2)は同じ変数を参照にしており、このスクリプトでは1が出力されます。 PHPでは関数の中などのローカルスコープでも、$GLOBALS変数を用いてあらゆるグローバル 変数への読み書きができます。globalキーワードと同様、スコープを区切らずにあらゆる変数にア クセスできてしまうと、思わぬ個所で値が変更され、それが他の個所で思わぬ影響を及ぼす場合があ ります。$GLOBALSを利用するのはやむを得ない場合や、利用用途がそのプログラムの開発に携 わるすべての人に明確である場合に限るべきです。 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  以上よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • POSTの値をSQL内で使う場合

    某サンプルで次のようなサンプルがありました。 where (isbn like '%$isbn%') たぶん、resister_globals = on の時代に動いていた サンプルだと思います。 Offの場合、これを $_POST[isbn]とやっても動くのですが ''もしくは""でisbnを囲うとしたら、どのようにすると いいのでしょうか? よろしくお願いします。

    • ベストアンサー
    • PHP
  • 他ホストからのPOSTを防ぐ方法

    php.iniのregister_globalsをOffにすることで不要な GETパラメータを受け付けないようにすることができますが、他ホストから、<form metho=POST acrion=http://***.com/xx.php> などとした場合、他ホストからPOSTできるわけで、 結局、他ホストからPOSTできないようにしないとrgister_globalsをOnにした時と、セキュリティーはあまり変わらないようか気がするのですが、 他ホストからPOSTできなくする方法はありますでしょうか? 現在、思いつくのはPHPに限らず以下の方法ですが、 いずれも完璧ではないような気がします。 1.refererチェック(100%で有効ではないらしい) 2.Sessionによる認証チェック(認証済みユーザなら結局、同一ブラウザを使い他ホストのページからPOSTできる)

    • 締切済み
    • PHP
  • argv( 引数 )について

    こんにちは、質問させてください。 今test.phpに引数をひとつ渡します。 test.php内では、 $name = $_GET["name"]; として受けています。 test.phpは、引数がNULLの時とそうでないときで 別処理を行うようにしています。 PHP.iniファイルのエラーメッセージを表示させるように設定していて、 引数が存在しないときに以下のようなメッセージがエラーログファイルに追加されます。 Undefined index: name in c:\htdocs\test\test.php on line 12 このメッセージが表示されること自体、たいしたエラー(?!)ではありませんが、 引数がない場合、実行する度に上記のメッセージがでるのはあまり 面白くないので、表示させたくないようにしたいのですが, どのようにすればいいでしょうか? 宜しくお願い致します m(_ _)m

    • ベストアンサー
    • PHP
  • globalと$GLOBALSの違いは?

    globalと$GLOBALSの違いは、連想配列かそうでないかしかないのでしょうか。 大量に使う場合、どちらを使っても動作には差はでないでしょうか。 <?php $s = "グローバルスコープ"; //グローバルスコープ function scope_test0(){ echo $s; // 何も表示されない(ローカルスコープ) } scope_test0(); /* globalを使う */ $a = "スコープの違い"; function scope_test1(){ global $a; //ここでglobalを宣言、スコープが違う変数を参照可能に echo $a; //スコープの違い }; scope_test1(); /* $GLOBALSを使う */ $b = 3; $c = 4; function scope_test2(){ $GLOBALS["c"] = $GLOBALS["b"] + $GLOBALS["c"]; } scope_test2(); echo $c; //7 ?>

    • ベストアンサー
    • PHP
  • JavaScriptをoffにしたい

    現在、JavaScriptを使ってサイトを作ろうとしているのですが、JavaScriptをon/offする方法を知らないんです。 で、JavaScriptがonになっているかどうか判別するページを作ってみたのはいいけれど、offの時にどういうことになるのか確かめられなくて困っています。 私のパソコンははじめからonになっていて、やり方がわかりません。 どなたか教えていただけないでしょうか? 私が使用しているのはOSがWin xpで、使っているのは主にIE6.0です。

  • php設定ファイルについて

    セキュリティ上よろしくないとは知りながら、register_globalsの設定をonに変えたいと思っています。 で、いろいろ調べたのですが、ユーザーレベルでこの設定を変えるにはphpファイルのあるディレクトリでphp.iniというファイルを置き、中身を「register_globals=on」にする方法と、.htaccessを置いて中身を「php_flag register_globals on」とする方法と2つあるようですが、この方法はどちらもどのサーバーでも有効な方法なのでしょうか。 .htaccessについては許可していないサーバーもあるようですので万能ではないようですが、許可されているかされていないかは別として、これらのファイルを置けば有効になるものなのか、それともサーバー管理者が「このファイルにこう書けばOK」と設定次第で有効になるものなのかが知りたいのです。 よろしくお願いいたします。

    • ベストアンサー
    • PHP