diff options
| -rw-r--r-- | php/includes/settings.inc.php | 12 | ||||
| -rw-r--r-- | php/upload.php | 15 |
2 files changed, 13 insertions, 14 deletions
diff --git a/php/includes/settings.inc.php b/php/includes/settings.inc.php index 19a3987..6e70569 100644 --- a/php/includes/settings.inc.php +++ b/php/includes/settings.inc.php @@ -90,17 +90,15 @@ define('ID_CHARSET', 'abcdefghijklmnopqrstuvwxyz'); /** - * Blocked mime types - * @param string[] $FILTER_MIME blocked mime types + * Filtered mime types + * @param string[] $FILTER_MIME allowed/blocked mime types */ $FILTER_MIME = array(""); - /** - * Whitelisted mime types - * @param string[] $WHITELIST_MIME_MIME allowed mime types + * Filter mode: whitelist (true) or blacklist (false) + * @param bool $FILTER_MODE mime type filter mode */ -$WHITELIST_MIME = array(""); - +$FILTER_MODE = false; /** * Double dot file extensions * diff --git a/php/upload.php b/php/upload.php index b9e5f55..d63ee5e 100644 --- a/php/upload.php +++ b/php/upload.php @@ -75,7 +75,7 @@ function generateName($file) function uploadFile($file) { global $db; - global $WHITELIST_MIME; + global $FILTER_MODE; global $FILTER_MIME; // Handle file errors @@ -85,13 +85,14 @@ function uploadFile($file) // Check if mime type is blocked if (!empty($FILTER_MIME)) { - if (in_array($file->mime, $FILTER_MIME)) { - throw new UploadException(UPLOAD_ERR_EXTENSION); - } - } - if (!empty($WHITELIST_MIME)) { - if (!in_array($file->mime, $WHITELIST_MIME)) { + if ($FILTER_MODE == true) { //whitelist mode + if (!in_array($file->mime, $FILTER_MIME)) { + throw new UploadException(UPLOAD_ERR_EXTENSION); + } + } else { //blacklist mode + if (in_array($file->mime, $FILTER_MIME)) { throw new UploadException(UPLOAD_ERR_EXTENSION); + } } } |
