diff options
author | Robin Appelman <icewind1991@gmail.com> | 2011-01-04 23:02:38 +0100 |
---|---|---|
committer | Robin Appelman <icewind1991@gmail.com> | 2011-01-04 23:02:38 +0100 |
commit | e0f6ad1c9cfb06fc6b1c47dc9f32a80382fb2114 (patch) | |
tree | e75f592a5a98df04c8ca7a965658061a6749ade8 | |
parent | 56ec7303378fe93c4fe19466b48c0dc9b451cf45 (diff) | |
download | nextcloud-server-e0f6ad1c9cfb06fc6b1c47dc9f32a80382fb2114.tar.gz nextcloud-server-e0f6ad1c9cfb06fc6b1c47dc9f32a80382fb2114.zip |
Also allow open_file.php to be called with a path paramater instead of only with seperate dir/file
-rw-r--r-- | files/open_file.php | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/files/open_file.php b/files/open_file.php index b91f72aaf31..ed1a1e47b1a 100644 --- a/files/open_file.php +++ b/files/open_file.php @@ -24,12 +24,16 @@ require_once('../inc/lib_base.php'); -$file=$_GET['file']; -$dir=(isset($_GET['dir']))?$_GET['dir']:''; -if(strstr($file,'..') or strstr($dir,'..')){ - die(); +if(isset($_GET['path'])){ + $filename=$_GET['path']; +}else{ + $file=$_GET['file']; + $dir=(isset($_GET['dir']))?$_GET['dir']:''; + $filename=$dir.'/'.$file; +} +if(strstr($filename,'..')){ + die(); } -$filename=$dir.'/'.$file; $filename=stripslashes($filename); $ftype=OC_FILESYSTEM::getMimeType($filename); ob_end_clean(); |