おずの魔法使い

おずの魔法使い

2006.04.05
XML
カテゴリ: コンピュータ関係
PHPでは php.ini で register_globals の値を設定出来る.


これを on にしておくと 例えば <input type="text" name="n"> なんて感じのとこから来たデータを勝手に 変数$nに代入してくれる. とっても楽ちんである.
PHPの場合通常は (GETならば) $n=$_GET['n']; とかってやらなきゃいけないのだけど, それをはしょることが出来るのだ.

しかし, GETの場合はURLに これらの変数を書くことが出来る. 例えばGoogleなんかで適当な単語(アルファベットの方がわかりやすいかな)を検索してみると URLの中に q=検索した単語 があると思う. ここを書き換えることでサーバに送るパラメータを変えることが出来る. 例えば 勝手に qq=hoge とかってやると qq という変数に hoge という値入れて送信していることになる.
もちろん qq という変数を取り扱うようにしていなければ問題はない…のだが.

ここで register_globals に話を戻そう.
仮に PHP script内部で $qq という変数を使っていたらどうなるだろうか? 勝手にそこにパラメータをいれさせてしまう可能性がある, ということになる.
POSTでデータをやり取りしているはずなのに GET で送り込まれてしまう可能性だってある.

これが register_globals を off にしておくべき理由の一つである.

register_globalsは昔のPHPだとdefaultで on になっていた. その時代に書かれたScriptの中には on になっていることを前提としているものも少なくない.
ここでえらそーなこと書いてるけど, 自分もそういうScriptを書いていて PHPのバージョンアップで動かなくなった…という恥ずかしい過去がある:-p
もちろん, そいつらは速攻で修正をしたよ.
でも 何故に default で off になったのか, それを考えると そこを on にしなければ動作しない Script で, 特に今でもそれを強要するものには大事な理念がすっぽり抜け落ちている, そんな気がするのだなぁ.





お気に入りの記事を「いいね!」で応援しよう

最終更新日  2006.04.05 15:35:42
コメント(7) | コメントを書く
[コンピュータ関係] カテゴリの最新記事


【毎日開催】
15記事にいいね!で1ポイント
10秒滞在
いいね! -- / --
おめでとうございます!
ミッションを達成しました。
※「ポイントを獲得する」ボタンを押すと広告が表示されます。
x
X

PR

×

プロフィール

つ!

つ!

コメント新着

わかりません@ 10万円 逝ってよし(´-ω-)☆ <small> <a href="htt…
乗らない騎手@ ちょっとは木馬隠せw あのー、三 角 木 馬が家にあるってどん…
チリチリ@ 次は庭で全裸予定w <small> <a href="http://kuri.backblac…
地蔵@ 驚きのショックプライスw コウちゃんがこないだ教えてくれたやつ、…
ヒゲメタボ@ クマたんと呼ばれてます(^^; 最近はこれが流行ってるって聞いたので …
ディック橋本@ ギリ3人です(笑) <small> <a href="http://iikoto.chorie…
ななやま@ ムダなチラシ広告のポスティング問題をWebで解決する新サービス「エコポスト」 福岡市の株式会社ザイナスは、郵便受けに…

フリーページ

カレンダー

キーワードサーチ

▼キーワード検索


© Rakuten Group, Inc.
X
Design a Mobile Site
スマートフォン版を閲覧 | PC版を閲覧
Share by: