如果直接抛出switch()语句,是否需要验证POST或GET数据?例如:
switch($_GET['input']) {
//...
}
???
答案 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'];
}