Только потому, что все ваши внутренние IP-адреса соответствуют заданному регулярному выражению, это не означает, что все IP-адреса, соответствующие данному регулярному выражению, являются внутренними. Таким образом, ваше регулярное выражение является точкой возможного сбоя безопасности.
Я не знаю, какую технологию вы использовали для создания своего сайта, но если это Windows / ASP.net, вы можете проверить разрешения запрашивающего на основе его учетных данных Windows, когда запрос сделан.
Вы можете получить новое имя файла, используя
$this->upload->data();
. Это вернет детали загруженных файлов. Таким образом, вы можете сделать это, как
$config['upload_path'] = './uploads/';
$config['allowed_types'] = 'gif|jpg|png|pdf';
$config['max_size'] = 5000;
$config['max_width'] = 2000;
$config['max_height'] = 2000;
$rand_name = 'vehicles'.rand(321,8999).'_'.time();
$config['file_name'] = $rand_name;
$this->load->library('upload', $config);
$this->upload->do_upload('logbook');
$logbook = $this->upload->data();
$logbook_new_filename = $logbook['file_name'];
$this->upload->do_upload('inrep');
$inrep = $this->upload->data();
$inrep_new_filename = $inrep['file_name'];
$this->upload->do_upload('insurance');
$insurance= $this->upload->data();
$insurance_new_filename = $insurance['file_name'];
$this->upload->do_upload('vp');
$vp= $this->upload->data();
$vp_new_filename = $vp['file_name'];
Я не проверял это. Но я использую вот так, чтобы загрузить загруженное имя файла. Надеюсь, это поможет.