Php 在Codeigniter中上载文件期间使用sanitize_filename()

Php 在Codeigniter中上载文件期间使用sanitize_filename(),php,codeigniter,Php,Codeigniter,我一直在研究如何保护上传到服务器上的文件 我在文档中遇到了$this->security->sanitize_filename(),但我不知道如何在文件上载期间将其用于文件名。我不希望有人将文件命名为恶意文件,如something.jpg或带有斜杠的文件,这些斜杠可能会弄乱url路径 Codeigniter中的文件上载类是否自动使用sanitize_文件名?如果没有,我如何使用它 我是否需要先处理$\u文件,然后使用sanitize\u filename,然后在上载配置中将其传递给file\u

我一直在研究如何保护上传到服务器上的文件

我在文档中遇到了
$this->security->sanitize_filename()
,但我不知道如何在文件上载期间将其用于文件名。我不希望有人将文件命名为恶意文件,如
something.jpg
或带有斜杠的文件,这些斜杠可能会弄乱url路径

Codeigniter中的文件上载类是否自动使用sanitize_文件名?如果没有,我如何使用它


我是否需要先处理$\u文件,然后使用sanitize\u filename,然后在上载配置中将其传递给file\u name?如何从$\u文件访问文件名?

我刚刚将其添加到我的文件上载配置中

$filename = $this->security->sanitize_filename($this->input->post('file'));

$config['file_name'] = $filename;

我刚刚把它添加到我的文件上传配置中

$filename = $this->security->sanitize_filename($this->input->post('file'));

$config['file_name'] = $filename;

只需将此配置添加到您的上载配置

.
.
$config['encrypt_name'] = TRUE
.
.
 $this->load->library('upload', $config); // Or $this->upload->initialize($config); if you already loaded the upload library
检查codeigniter用户指南:


此配置会加密文件名。

只需将此配置添加到上载配置中即可

.
.
$config['encrypt_name'] = TRUE
.
.
 $this->load->library('upload', $config); // Or $this->upload->initialize($config); if you already loaded the upload library
检查codeigniter用户指南:


此配置将加密文件名。

您可以为此使用安全帮助程序


encode_php_tags()将php标记转换为html实体。

您可以使用安全帮助程序进行此操作

encode_php_tags()使php标记成为html实体