diff --git a/classes/security/UploadFileFilter.class.php b/classes/security/UploadFileFilter.class.php index 3f345f743..445043931 100644 --- a/classes/security/UploadFileFilter.class.php +++ b/classes/security/UploadFileFilter.class.php @@ -3,36 +3,42 @@ class UploadFileFilter { - private static $_block_list = array('exec', 'system', 'passthru', 'show_source', 'phpinfo', 'fopen', 'file_get_contents', 'file_put_contents', 'fwrite', 'proc_open', 'popen'); - - public function check($file) - { - if (!$file || !file_exists($file)) return TRUE; - return self::_check($file); - } - - private function _check($file) - { - if (!($fp = fopen($file, 'r'))) return FALSE; - $has_php_tag = FALSE; - while (!feof($fp)) - { - $content = fread($fp, 8192); - if (FALSE === $has_php_tag) $has_php_tag = strpos($content, '