add banned paths

This commit is contained in:
Rich Kucera
2012-11-28 10:57:57 -05:00
parent fe593dcb09
commit bdb171dc6d
2 changed files with 21 additions and 2 deletions

View File

@@ -31,8 +31,26 @@ class SortingIterator implements IteratorAggregate {
}
}
class IgnorantRecursiveDirectoryIterator extends RecursiveDirectoryIterator {
function getChildren() {
try {
// echo "<pre>".var_export( $this->key(), true )."</pre>";
// echo "<pre>".var_export( $this->getSubPath(), true )."</pre>";
// echo "<pre>".var_export( $this->getSubPathname(), true )."</pre>";
if ( (!isset($GLOBALS['ICEcoder']['bannedPaths'])) ||
(! (in_array( $this->key(), $GLOBALS['ICEcoder']['bannedPaths'] ))) ) {
return parent::getChildren();
} else {
return new RecursiveArrayIterator(array());
}
} catch(UnexpectedValueException $e) {
return new RecursiveArrayIterator(array());
}
}
}
// Get a full list of dirs & files and begin sorting using above class & function
$objectList = new SortingIterator(new RecursiveIteratorIterator(new RecursiveDirectoryIterator($docRoot.$iceRoot), RecursiveIteratorIterator::SELF_FIRST), 'alphasort');
$objectList = new SortingIterator(new RecursiveIteratorIterator(new IgnorantRecursiveDirectoryIterator($docRoot.$iceRoot), RecursiveIteratorIterator::SELF_FIRST), 'alphasort');
// With that done, create arrays for out final ordered list and a temp container of files
$finalArray = $tempArray = array();

View File

@@ -10,6 +10,7 @@ $ICEcoder = array(
"lockedNav" => true,
"accountPassword" => "",
"bannedFiles" => array("_coder","ICEcoder"),
"bannedPaths" => array("/var/www/.git","/var/www/sites/all/modules","/var/www/sites/default/files"),
"allowedIPs" => array("*"),
"plugins" => array(
array("Adminer","plugins/adminer/icon.png","margin-top: 3px","plugins/adminer/adminer-3.4.0-mysql-en.php","_blank",""),
@@ -22,4 +23,4 @@ $ICEcoder = array(
"previousFiles" => "",
"last10Files" => ""
);
?>
?>