Check blacklist when renaming files

This commit is contained in:
Michael Gapczynski 2012-08-11 11:04:04 -04:00
parent 39b9052c2f
commit 465767670b
2 changed files with 12 additions and 3 deletions

View File

@ -362,6 +362,7 @@ class OC{
// Check for blacklisted files
OC_Hook::connect('OC_Filesystem','write','OC_Filesystem','isBlacklisted');
OC_Hook::connect('OC_Filesystem', 'rename', 'OC_Filesystem', 'isBlacklisted');
//make sure temporary files are cleaned up
register_shutdown_function(array('OC_Helper','cleanTmp'));

View File

@ -363,15 +363,23 @@ class OC_Filesystem{
/**
* checks if a file is blacklsited for storage in the filesystem
* Listens to write and rename hooks
* @param array $data from hook
*/
static public function isBlacklisted($data){
$blacklist = array('.htaccess');
$filename = strtolower(basename($data['path']));
if (isset($data['path'])) {
$path = $data['path'];
} else if (isset($data['newpath'])) {
$path = $data['newpath'];
}
if (isset($path)) {
$filename = strtolower(basename($path));
if (in_array($filename, $blacklist)) {
$data['run'] = false;
}
}
}
/**
* following functions are equivilent to their php buildin equivilents for arguments/return values.