プロが教える店舗&オフィスのセキュリティ対策術

いつもお世話になりましす。
自社サーバーがあったのですが、管理者に不幸があり泣く泣くレンタルサーバーを借りる事になりました・・・・が、
なにぶんサーバーの知識が無いので、専門用語等がわからず『さくらインターネット』に借り、PHP等のソース(?)を移行したまではいいのですが、フォーム等の受け渡しが上手く行っていない事がわかりました。
原因は入力フォーム『post』で次ページに行った時に、PHPの$_POST[変数名]を入れていなかったと言う事です。
以前自社サーバーの時は受け側の指定をしなくてもよかったのですが、『さくらインターネット』の場合は$_POST[変数名]を追加しなければならなくなりました。
自社サーバーの仕様は全く不明です。PHPのバージョンも不明。
元の管理者の設定なのかバージョンでの仕様なのかも不明です。
『さくらインターネット』PHPのバージョンは 5.2.5 です。

なにぶん専門知識が少ないので、聞き方や不明な点だらけで申し訳ありませんが、設定や対応方法がござしましたら是非教えてください。

A 回答 (1件)

もしかしたら、今までのサーバーは PHP4の可能性が大です


しかもregister_globals = On の設定だったかと思われます。
昔のPHPは、この設定がOnの状態がデフォルト(最初っからの値)だったため
例えば、
<input type="text" name="hensu" value="" />
というのがあったら、そのまま $hensu で値が取得できていたと思われます。
しかし、これはセキュリティ的に「非常に危険」であるため。今現在のPHPでは、
register_globals = Off の状態がデフォルトとなっています。
register_globalsの設定を変えれば、今までのソースがそのまま動くかと思われますが、「めちゃめちゃ危険です」ので、極力おすすめはしません。
ですから、ここで具体的な設定の方法は控えさせていただきます
お手数ですが、全てのソースで $_POST['hensu'] と書き換えることを強くおすすめします。

この現象は さくらインターネットに限ったことではありません、この世の中の全てのPHPでおこりうる現象ですが、本来であれば、古いバージョンでもregister_globals=Offの状態でシステム構築するのが当たり前なのですが、まぁ、不幸の有った人を悪く言うのもアレなんで以下自粛させていただきます。
    • good
    • 0
この回答へのお礼

早々ありがとうございます。
非常に参考になります。
もう少し知識があればもっとうまい聞き方もあったのでしょうが、私が望んでいるような解答でした。
変更修正する方向で進ませてもらいます。
ただ現状『動かしたい』って言う気持ちが大きかったので一度瞬間的にOnにしてみたいと思います。
まさかそれが危険とはド素人の私は考えもしませんでした。
何故危険なんだろうと読みながら初歩的な疑問もありますが、検索してみます。
ありがとうございました。

お礼日時:2008/06/14 00:06

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