mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-06-01 12:19:28 +00:00
Merge branch 'master' into vv_und_studvw_2026_02_rc4
This commit is contained in:
@@ -266,7 +266,7 @@ class FHCAPI_Controller extends Auth_Controller
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------
|
||||
// Security
|
||||
// Security Begin
|
||||
// ---------------------------------------------------------------
|
||||
|
||||
/**
|
||||
@@ -287,4 +287,31 @@ class FHCAPI_Controller extends Auth_Controller
|
||||
'required_permissions' => $this->_rpsToString($requiredPermissions, $this->router->method)
|
||||
], self::ERROR_TYPE_AUTH);
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------
|
||||
// Security End
|
||||
// ---------------------------------------------------------------
|
||||
|
||||
/**
|
||||
* Checks the client's total request size (Content-Length) against the minimum
|
||||
* effective PHP limit (min of upload_max_filesize, post_max_size, memory_limit).
|
||||
* This preempts failures that result in vague "missing parameters" errors on large files.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
protected function checkUploadSize() {
|
||||
// this number represents bytes
|
||||
$content_length_bytes = (int)$this->input->server('CONTENT_LENGTH');
|
||||
$content_length = $content_length_bytes / 1000000;
|
||||
|
||||
//get max serverside size upload -> this comes in megabytes
|
||||
$max_upload = (int)(ini_get('upload_max_filesize'));
|
||||
$max_post = (int)(ini_get('post_max_size'));
|
||||
$memory_limit = (int)(ini_get('memory_limit'));
|
||||
$max_upload_mb = min($max_upload, $max_post, $memory_limit); // smallest of 3 config values
|
||||
|
||||
if($content_length >= $max_upload_mb) {
|
||||
$this->terminateWithError($this->p->t('global', 'filesizeExceeded'), 'general');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user