6

POST か GET かに関係なく変数を取得し、filter_input() を使用してサニタイズすることが可能かどうか疑問に思っています。

最初はうまくいくかもしれないと思っていました$var = filter_input(INPUT_POST | INPUT_GET, "var", FILTER_SANITIZE_STRING)が、うまくいかず、PHP のマニュアルには、1 つのタイプの入力しか渡すことができないと記載されています。

も試しINPUT_REQUESTましたが、奇妙に機能しませんでした。関数はそれを認識します (つまり、$input に何か間違ったことを入れたというエラーは表示しません) が、コードを取得しません。はい、私INPUT_REQUESTはライブ環境で使用しないことを知っています。私はそれが機能するかどうかを純粋にテストしていました.

現在、私は次のことを行っています。

$var = filter_input(INPUT_POST, "var", FILTER_SANITIZE_STRING);
if(!$var) $var = filter_input(INPUT_GET, "var", FILTER_SANITIZE_STRING);

ただし、PHP には多くの機能があるため、多くの場合、1 つのコマンドですべてを行う簡単な方法があります。こちらがそうではないかと思うのですが、まとめてチェックしてもよろしいでしょうか?私は Google で大雑把な検索を実行しましたが、解決策は言うまでもなく、以前にこれを試みた人への言及も見つかりませんでした。

4

6 に答える 6

3

GET入力が inまたはのどちらであるかがわからない場合は、悪い習慣と見なされますPOST。何でもランダムに受け入れるだけでなく、常に知っておく必要があります。

于 2013-08-02T14:35:38.590 に答える
0

私が読んだことからPOST、フォームの値を次のように変更できますGET-その方法では、受け入れるだけで済みますGET-私がそれを正しい方法で理解したかどうかはわかりません.

于 2013-11-19T19:04:52.090 に答える