$_POST、$_GET、$_SERVERなどを使用しているときに、Netbeans 7.4 for PHP でこの警告メッセージが表示されました。
スーパーグローバル $_POST 配列に直接アクセスしない
どういう意味ですか?この警告を修正するにはどうすればよいですか?
編集:イベントのサンプル コードでは、この警告がまだ表示されます。
$_POST、$_GET、$_SERVERなどを使用しているときに、Netbeans 7.4 for PHP でこの警告メッセージが表示されました。
スーパーグローバル $_POST 配列に直接アクセスしない
どういう意味ですか?この警告を修正するにはどうすればよいですか?
編集:イベントのサンプル コードでは、この警告がまだ表示されます。
filter_input(INPUT_POST, 'var_name')
の代わり$_POST['var_name']
filter_input_array(INPUT_POST)
に$_POST
ほとんどの場合(ほとんどの場合)、あなたの入力をサニタイズする必要があるという他の回答者に同意します。
ただし、次のようなコードを検討してください (REST コントローラー用です)。
$method = $_SERVER['REQUEST_METHOD'];
switch ($method) {
case 'GET':
return $this->doGet($request, $object);
case 'POST':
return $this->doPost($request, $object);
case 'PUT':
return $this->doPut($request, $object);
case 'DELETE':
return $this->doDelete($request, $object);
default:
return $this->onBadRequest();
}
ここでサニタイズを適用してもあまり役に立ちません (ただし、何も壊すことはありません)。
したがって、推奨事項に従いますが、やみくもにではなく、なぜそれらが目的であるかを理解してください:)