0

switch()ステートメントに直接スローされる場合、POSTまたはGETデータを検証する必要がありますか?例えば:

switch($_GET['input']) {
    //...
}

???

4

3 に答える 3

0

いいえ、case基本的には検証です。

于 2012-10-03T08:28:19.813 に答える
0

switchステートメントは、同じ式の一連のIFステートメントに似ています。多くの場合、同じ変数(または式)を多くの異なる値と比較し、それに等しい値に応じて異なるコードを実行することができます。これはまさにswitchステートメントの目的です。

スイッチ/ケースは大まかな比較を行うことに注意してください。

<?php
switch ($i) {
    case "apple":
        echo "i is apple";
        break;
    case "bar":
        echo "i is bar";
        break;
    case "cake":
        echo "i is cake";
        break;
    default:
    echo "";
    break;
}
?>

したがって、簡単な答えは「いいえ」です。

于 2012-10-03T08:28:36.780 に答える
0

スイッチに実際のケースが含まれている場合はありませんが、その場合に使用するかどうかdefaultを検証する必要があります。$_GET

例えば:

switch ($_GET['input']) {
    case 'one':
        echo "input is one";
        break;
    case 'two':
        echo "input is two";
        break;
    default:
       // here `$_GET['input']` need to be validated, escaped, checked if you use it to avoid XSS or SQL injections
       echo $_GET['input'];
}
于 2012-10-03T08:28:47.887 に答える