Я использую $ _get для простого перенаправления страницы.
Я только начал узнавать о дезинфекции пользовательского ввода, поэтому мне было интересно, был ли приведенный ниже код в порядке. Есть ли какие-либо другие методы очистки, которые рекомендуются для этого конкретного кода? Если да, то почему?
О коде ниже. Я проверил, что пользователь ввел значение, а затем сопоставил его со списком допустимых значений перед перенаправлением.
$host = $_SERVER['HTTP_HOST'];
$uri = rtrim(dirname($_SERVER['PHP_SELF']), '/\\');
$PAGES = array('a', 'b', 'c', 'd', 'z');
if (empty($_GET['letter'])) {
$_GET['letter']="a";
}
if (!in_array($_GET['letter'], $PAGES)) {
$_GET['letter']="a";
}
$letter=$_GET['letter'];
$goto=$letter .".php";
header("Location: http://$host$uri/$goto");