Opencart图片上传使文件名安全

时间:2012-05-24 12:29:08

标签: php opencart

使用opencart图片管理器如何设置上传以自动删除:图像文件名中的空格和不安全字符?

Filemanager.php

$filename = basename(html_entity_decode($this->request->files['image']['name'], ENT_QUOTES, 'UTF-8'));

2 个答案:

答案 0 :(得分:1)

最好的方法是使用简单的preg_replace,例如

$filename = preg_replace('~[^\w\./\\\\]+~', '', $filename);

这将允许字母,数字,下划线,后退和正斜杠和a。仅在文件名中,并删除其他任何内容

答案 1 :(得分:0)

htmlspecialchars确实需要对不安全的字符做什么,这些字符是< > &安培; “别无其他。

      // for removing unsafe characters
       $text = htmlspecialchars($text);

//删除空格

使用正则表达式:

      preg_replace('/( )+/', ' ', $string);

      //If you also want to remove every multi-white characters, you can use \s (\s is  white characters)

      preg_replace('/(\s)+/', ' ', $string);