Re: ZipArchive headache

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Jeffry Killen wrote:

> I have held off on posting this pending an implementation of a script
> that uses a formal
> synchronous POST strategy, AND IT WORKED.
> 
> So there are now two "gotcha's"
> 1: ZipArchive won't create an empty zip file, but will return a positive
> result

I'm still thinking about filing a respective bug report, but it seems
the issue is known, and I'm not sure whether that's a documentation
problem only.  Anyhow, I'd have to dig through already existing bug
reports to avoid posting a duplicate.

> 2: Apparently, after the exercise below: A zip file will not be created
> using
>    an async request. And will give the persistent result as below. That is
>    the common link in all the different dev server installations.

It appears to me that there shouldn't be a difference whether you do a
synchronous or an asynchronous XHR.  At least, the server shouldn't
notice any difference.  There may be something else going on.

> The calls to header, print, and exit are in response to async get queries.
> $_constER is an array I culled from the various error codes according to
> the
> documentation.
> 
> else if($_GET['newArchAlt'])
>      {
>       //header('Content-Type: text/plain');
>       //print $_GET['newArchAlt'];
>       //exit;
>       require_once("php/zpArchConst.php");
>       //$_constER;
>       $_alt = new ZipArchive();
>       $_ret = $_alt->open(getcwd().'/'.$_GET['newArchAlt'],
> ZipArchive::CREATE);

Never ever use an unvalidated and unsanitized GET parameter to construct
a filename.  That could be easily exploited (e.g. newArchAlt=../foo).

>       header('Content-Type: text/plain');
>       print $_ret.': '.$_constER[$_ret].":  ".$_GET['newArchAlt']; //
> result appears below
>       exit;
> 
> 
> The result as printed in the initiating page:
> 
> 1: ZipArchive::ER_MULTIDISK|Multi-disk zip archives not supported: 
> test-2.zip

That might be a MacOSX specific issue.  Consider to file a bug report at
<https://bugs.php.net/>.

-- 
Christoph M. Becker

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php





[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux