Тема обсуждения багов
dervan |
|
---|---|
Исправления, связанные с максимальным размером файла, загружаемого посетителем на хост.
В system/functions.php добавить функцищу
/**
* Returns maximum size for uploaded file, in KB (allowed in php.ini, and may be allowed in .htaccess)
*
* @return int
*/
function sed_get_uploadmax()
{
static $par_a = array('upload_max_filesize', 'post_max_size', 'memory_limit',);
static $opt_a = array('G' => 1073741824, 'M' => 1048576, 'K' => 1024,);
$val_a = array();
foreach ($par_a as $par)
{
$val = ini_get($par);
$opt = strtoupper($val[strlen($val) - 1]);
$val_a[] = isset($opt_a[$opt]) ? $val * $opt_a[$opt] : (int)$val;
}
return floor(min($val_a) / 1024); // KB
}
В system/core/pfs/pfs.inc.php найти строку
$maxfile = $row['grp_pfs_maxfile'];
$maxfile = min($row['grp_pfs_maxfile'], sed_get_uploadmax());
В system/core/admin/admin.users.inc.php найти строку
$nmaxsingle = sed_import('nmaxsingle','P','INT');
$nmaxsingle = min(sed_import('nmaxsingle','P','INT'), sed_get_uploadmax());
$rmaxfile = sed_import('rmaxfile','P','INT');
$rmaxfile = min(sed_import('rmaxfile','P','INT'), sed_get_uploadmax());
Administration panel / Configuration / Users: IMHO неплохо бы ограничить максимальный размер файла для аватара, сигнатуры и фото, а то там тоже можно ввести огромный размер. Для этого в system/core/admin/admin.config.inc.php найти строку
$cfg_value = trim(sed_import($cfg_name, 'P', 'NOC'));
if ('users' == $p && ('av_maxsize' == $cfg_name || 'sig_maxsize' == $cfg_name || 'ph_maxsize' == $cfg_name))
{
$cfg_value = min($cfg_value, sed_get_uploadmax() * 1024);
}
|