切换语句验证

时间:2012-10-03 08:27:00

标签: php validation

如果直接抛出switch()语句,是否需要验证POST或GET数据?例如:

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

???

3 个答案:

答案 0 :(得分:0)

不,您的case基本上是验证。

答案 1 :(得分: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;
}
?>

所以,简短的回答是“不”。

答案 2 :(得分: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'];
}