URLクエリ値が正当なものであるかどうかを調べるときは、以下の2つの方法を比較するときに最も良い方法は何でしょうか?彼らはどちらも動作しますが、私は何か見落としてしまった場合に備えて尋ねると思いました。URLクエリ値の検証。 switch文とin_array?
スイッチ/他+ in_array()
/*
example.com/page/my-value
^example.com/page.php?q=my-value
*/
$page = null;
# OPTION A
$valid_pages = array('my-value-1', 'my-value-2', 'my-value-3');
if (in_array($_GET['q'], $valid_pages)) {
$page = $_GET['q'];
} else {
header("location: http://www.example.com");
exit;
}
#OPTION B
switch ($_GET['q']) {
case 'my-value-1':
case 'my-value-2':
case 'my-value-3':
$page = $_GET['q'];
break;
default:
header("location: http://www.example.com");
exit;
break;
}
# Do something with $page