17
13

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

さくらサーバでのfilter_input(INPUT_SERVERの挙動が・・

Last updated at Posted at 2014-10-22

ブログみたいに使ってすみませんw

元請けが好きなのでさくらサーバのスタンダードをよく使います。
そのくせに最近まで(昨日までw)気がつかなかったのことがあったので書いておこうかと。

私はさくらでPHPを使うと今の標準が5.4なんでfilter_inputを普段GETとかPOSTとかには使ってるんです。
ですがなぜか$_SERVERはベタに書いてたので、ふとfilter_inputを使ってみようとか思ったって話です。
(本当はIDEとしてNetBeansを使ってまして「$_SERVERを直接書くな!!フィルタしろ!!」って文句言われるからうっとうしいなぁと思ったのが元なんですがw)

それはさておき、よくフォームとかでサブミットされた次のページで基本的なチェックとして

if($_SERVER["REQUEST_METHOD"] == "POST")

とかってやると思うんですね。
要するにアドレス直打ちの最低限防止みたいな。
これをフィルタしてみようと思い、

if(filter_input(INPUT_SERVER,"REQUEST_METHOD") == "POST"){
   ***A***
}else{
   ***B***
}

みたいなのを書いた訳です。
最初はローカルPCのXAMPPで動作確認してOKと。
ではさくらサーバにアップして・・・あれ?Bに行っちゃう・・・

おかしいなと思ってコード書いてアップしてみたらさくらサーバではINPUT_SERVERは無視する?
REMOTE_ADDRとかHTTP_REFERERとかすべて空白で返ってきてしまう・・・

Googleでも調べてみましたが特に書いてる人もいなさそう?
INPUT_SESSIONが動作しないのはPHP自体の話でマニュアルにもあるので理解出来るんですが(NetBeansは文句言いますがw)

まぁ直書きすれば解決するんで大きくは問題にならないんですが、どなたか解決法とまで行かなくとも原因とかわかりませんかね?
個人的に気持ち悪いだけなんですがw

17
13
3

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
17
13

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?