Wysyłanie zmiennych dla funkcji PHP FileSystem z przesyłaniem formularzy

Próbuję znaleźć bezpieczny sposób na wykonanie następujących czynności:

Użytkownicy wprowadzają wartość do formularza HTML.Formularz jest przesyłany.PHP używa przesłanej wartości jako argumentu funkcji „scandir”.

Moja teoria zawiera logikę w skrypcie php, która zabrania absolutnych ścieżek i wymaga, aby nazwa katalogu zawierała pewną wartość.

Obawiam się, że haker może użyć mojego formularza, aby przesłać własną wartość i uzyskać dostęp do poufnych plików.

To jest dla wtyczki JQuery. Nie chcę, aby użytkownicy musieli modyfikować plik PHP.

Jak można zhakować poniższy kod?

<?php

$foo = $_POST["some_directory"];

//validate $foo

//make sure path to directory is relative
$foo_url_test  = parse_url($foo);
if (isset($foo_url_test['scheme']) || isset($foo_url_test['host'])) {
$foo = NULL;
}

//make sure the directory name contains 'bar123'
$foo_name_test = preg_split('_[\\\\/]_', $foo);
$foo_name_test = end($foo_name_test);
$foo_name_test = strpos($foo_name_test,'bar123');
if ($foo_name_test === false) {
$foo = NULL;
}

//make sure the path does not contain '..'
$foo_dot_dot_test = strpos($foo,'..');
if ($foo_dot_dot_test == TRUE || $foo_dot_dot_test === 0) {
$foo = NULL;
}

//get files
$files_array = scandir($foo);

?>

questionAnswers(3)

yourAnswerToTheQuestion