php – 解压缩用户提交的文件的安全性
发布时间:2020-12-13 17:54:04 所属栏目:PHP教程 来源:网络整理
导读:这里不仅仅是编码问题,而是与安全性有关的一般性问题. 我目前正在开发一个允许用户提交内容的项目. 该内容的关键部分是用户上传Zip文件. zip文件应该只包含mp3文件. 然后我将这些文件解压缩到服务器上的目录,以便我们可以在网站上传输音频供用户收听. 我担心
这里不仅仅是编码问题,而是与安全性有关的一般性问题.
我目前正在开发一个允许用户提交内容的项目. 该内容的关键部分是用户上传Zip文件. zip文件应该只包含mp3文件. 然后我将这些文件解压缩到服务器上的目录,以便我们可以在网站上传输音频供用户收听. 我担心的是,这会打开一些可能具有破坏性的zip文件. 那么,有没有一种安全的方法呢? 如果它有所作为我正在Wordpress上开发网站.
代码,只从zip中提取MP3,忽略其他内容
$zip = new ZipArchive(); $filename = 'newzip.zip'; if ($zip->open($filename)!==TRUE) { exit("cannot open <$filename>n"); } for ($i=0; $i<$zip->numFiles;$i++) { $info = $zip->statIndex($i); $file = pathinfo($info['name']); if(strtolower($file['extension']) == "mp3") { file_put_contents(basename($info['name']),$zip->getFromIndex($i)); } } $zip->close(); 我会使用像id3_get_version(http://www.php.net/manual/en/function.id3-get-version.php)这样的东西来确保文件的内容也是mp3 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |