0
我一直在使用Zend框架,而集中发展自己的网站,现在我设计的上传界面。 我需要允许用户上传1-5张图片。 我需要将这些图像作为BLOB对象发送到数据库。 我当前的代码是这样的:使用Zend_File_Transfer上传
$upload = new Zend_File_Transfer_Adapter_Http();
$upload->addValidator('Extension', true, 'jpg,png,gif');
$upload->addValidator('ImageSize', true, array(
'minwidth' => 4)); //i preform this check to make sure that it's a real
//image, since IsImage only checks MIME. Good Idea?
$upload->addValidator('IsImage', false);
$upload->addValidator('Size', true, array(
'min' => '5kB' ,
'max' => '1MB' ,
'bytestring' => false));
if (! $upload->receive()) {
$messages = $upload->getMessages();
echo implode("\n", $messages);
我有两个问题。
首先,什么是要确认上传文件实际上是一个形象良好,快速,安全的方法是什么? MIME类型和扩展可能很容易被伪造。我所做的事似乎很愚蠢。任何其他想法?
其次,我在哪里从这里出发?我知道Zend的有setDestination
方法,但我将它移动到数据库,而不是一个文件。
谢谢。
的IMAGESIZE验证可能调用和getimagesize(),所以这覆盖:)我同意卡里姆不过,它应该是足够安全 – 2009-06-22 18:51:18