Kom ihåg mig?
Home Menu

Menu


PHP -> Skriva zip-filer.

 
Ämnesverktyg Visningsalternativ
Oläst 2008-11-10, 17:14 #1
crazzys avatar
crazzy crazzy är inte uppkopplad
Har WN som tidsfördriv
 
Reg.datum: Aug 2007
Inlägg: 1 089
crazzy crazzy är inte uppkopplad
Har WN som tidsfördriv
crazzys avatar
 
Reg.datum: Aug 2007
Inlägg: 1 089
Sitter och försöker parsa ett mms från cellsynt. Dem ska ju tvunget skicka det som en zip-fil. Detta innebär att jag har en zipfil i $_POST['content']. Koden ska skriva den till en temporär fil, packa upp och läsa in alla filer och stoppa i en databas. Mina problem är dessa:

* Det skapas av någon udda anledning två filer, en med extension och en utan. Den utan extension har inget innehåll heller men den ska inte existera över huvudtaget.
* Den filen med extension och innehåll ser ut som en random zipfil i nano men funkar inte att extrahera.

Kod:
Kod:
<?php
//Check if this is possibly an attempt to crack us
$haxx = false;
if(!isset($_POST['originator'])) $haxx = true;
if(!isset($_POST['destination'])) $haxx = true;
if(!isset($_POST['subject'])) $haxx = true;
if(!isset($_POST['content'])) $haxx = true;
if($haxx) die("Please don't try to h4xx0R us!");

//Create zip archive
$tempname = tempnam('/tmp','MMS').".zip";
$handle = fopen($tempname, 'w');
fwrite($handle,$_POST['content']);
fclose($handle);
?>
Felmeddelande från unzip:
Citat:
twister# unzip /tmp/MMSx4EF55.zip
Archive: /tmp/MMSx4EF55.zip
0\0�\\\0\0\0\0
caution: zipfile comment truncated
warning [/tmp/MMSx4EF55.zip]: zipfile claims to be last disk of a multi-part archive;
attempting to process anyway, assuming all parts have been concatenated
together in order. Expect "errors" and warnings...true multi-part support
doesn't exist yet (coming soon).
error [/tmp/MMSx4EF55.zip]: missing 1587817809 bytes in zipfile
(attempting to process anyway)
error [/tmp/MMSx4EF55.zip]: attempt to seek before beginning of zipfile
(please check that you have transferred or created the zipfile in the
appropriate BINARY mode and that you have compiled UnZip properly)
En 'ls -al /tmp' ger:
Citat:

twister# ls -al /tmp
total 104
drwxrwxrwt 5 root root 16384 2008-11-10 17:02 .
drwxr-xr-x 20 root root 4096 2008-11-02 15:29 ..
drwxrwxrwt 2 root root 1 2008-10-16 13:28 .ICE-unix
-rw------- 1 www-data www-data 0 2008-11-10 16:51 MMSHe3KVd
-rw-r--r-- 1 www-data www-data 21964 2008-11-10 16:51 MMSHe3KVd.zip
-rw------- 1 www-data www-data 0 2008-11-10 17:02 MMSx4EF55
-rw-r--r-- 1 www-data www-data 24369 2008-11-10 17:02 MMSx4EF55.zip
-rw-r--r-- 1 root root 26624 2008-11-10 15:37 mms.zip
drwxr-xr-x 2 root root 1 2008-11-02 11:10 .webmin
crazzy är inte uppkopplad   Svara med citatSvara med citat
Oläst 2008-11-10, 18:52 #2
WizKid WizKid är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Apr 2004
Inlägg: 618
WizKid WizKid är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Apr 2004
Inlägg: 618
tempnam skapar en unik-fil. Den genererar inte bara ett unikt filnamn.
WizKid är inte uppkopplad   Svara med citatSvara med citat
Oläst 2008-11-10, 22:48 #3
crazzys avatar
crazzy crazzy är inte uppkopplad
Har WN som tidsfördriv
 
Reg.datum: Aug 2007
Inlägg: 1 089
crazzy crazzy är inte uppkopplad
Har WN som tidsfördriv
crazzys avatar
 
Reg.datum: Aug 2007
Inlägg: 1 089
Hmm, då vet jag hur jag fixar det. Men jag vet fortfarande inte hur jag fixar så filen fungerar.
Har testat att behandla den med utf8_encode vs utf8_decode för att se om det kunde hjälpa mej,
samma skit ändå. Någon som ser vad felet är / har jobbat med mms och cellsynt tidigare?
crazzy är inte uppkopplad   Svara med citatSvara med citat
Oläst 2008-11-10, 23:54 #4
MMCs avatar
MMC MMC är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Jan 2008
Inlägg: 560
MMC MMC är inte uppkopplad
Mycket flitig postare
MMCs avatar
 
Reg.datum: Jan 2008
Inlägg: 560
Det har nog inte att göra med Cellsynt direkt. Kolla vilka argument du får i $_POST, kolla om din storlek är rimlig. Dina zipfiler är ju typ 20k, men unzip säger att den förväntar sig att filen ska vara typ 1,5 GB. Inget av det känns särskilt rimligt för ett MMS?

Förresten tycker jag att det vore bra om du körde med IP-checkar för att se till att bara Cellsynts servrar får skicka data till dig, istället för att du ska köra en massa checkar på inputen för att se om den är skadlig.
MMC är inte uppkopplad   Svara med citatSvara med citat
Oläst 2008-11-11, 08:57 #5
crazzys avatar
crazzy crazzy är inte uppkopplad
Har WN som tidsfördriv
 
Reg.datum: Aug 2007
Inlägg: 1 089
crazzy crazzy är inte uppkopplad
Har WN som tidsfördriv
crazzys avatar
 
Reg.datum: Aug 2007
Inlägg: 1 089
Citat:
Originally posted by MMC@Nov 10 2008, 23:54
Det har nog inte att göra med Cellsynt direkt. Kolla vilka argument du får i _POST, kolla om din storlek är rimlig. Dina zipfiler är ju typ 20k, men unzip säger att den förväntar sig att filen ska vara typ 1,5 GB. Inget av det känns särskilt rimligt för ett MMS?
Förresten tycker jag att det vore bra om du körde med IP-checkar för att se till att bara Cellsynts servrar får skicka data till dig, istället för att du ska köra en massa checkar på inputen för att se om den är skadlig.
Ip-checkar är ett senare skede, just nu vill jag bara att skiten ska funka.

Jag får alla argument jag förväntar mej, problemet är bara att php's funktioner för att skriva till disk tydligen inte klarar av att skriva datan som den är.
crazzy är inte uppkopplad   Svara med citatSvara med citat
Oläst 2008-11-11, 10:19 #6
Jonas Jonas är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Feb 2004
Inlägg: 3 364
Jonas Jonas är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Feb 2004
Inlägg: 3 364
Skickar inte Cellsynt content som en base64 zipfil?
Jonas är inte uppkopplad   Svara med citatSvara med citat
Oläst 2008-11-11, 10:44 #7
crazzys avatar
crazzy crazzy är inte uppkopplad
Har WN som tidsfördriv
 
Reg.datum: Aug 2007
Inlägg: 1 089
crazzy crazzy är inte uppkopplad
Har WN som tidsfördriv
crazzys avatar
 
Reg.datum: Aug 2007
Inlägg: 1 089
Citat:
Originally posted by Jonas@Nov 11 2008, 10:19
Skickar inte Cellsynt content som en base64 zipfil?
Ingen aning, dem har ingen dokumentation alls. Men ska testa att köra en decode.
crazzy är inte uppkopplad   Svara med citatSvara med citat
Oläst 2008-11-11, 11:07 #8
crazzys avatar
crazzy crazzy är inte uppkopplad
Har WN som tidsfördriv
 
Reg.datum: Aug 2007
Inlägg: 1 089
crazzy crazzy är inte uppkopplad
Har WN som tidsfördriv
crazzys avatar
 
Reg.datum: Aug 2007
Inlägg: 1 089
Okej, med en base64_decode försvann allt utom en rad
crazzy är inte uppkopplad   Svara med citatSvara med citat
Oläst 2008-11-11, 11:24 #9
SimonPs avatar
SimonP SimonP är inte uppkopplad
Mycket flitig postare
 
Reg.datum: May 2006
Inlägg: 832
SimonP SimonP är inte uppkopplad
Mycket flitig postare
SimonPs avatar
 
Reg.datum: May 2006
Inlägg: 832
Från PHP manualen:

"Note: For portability, it is strongly recommended that you always use the 'b' flag when opening files with fopen(). "

Det behöver inte vara det som är fel i ditt fall, men ändå...
SimonP är inte uppkopplad   Svara med citatSvara med citat
Oläst 2008-11-11, 11:32 #10
crazzys avatar
crazzy crazzy är inte uppkopplad
Har WN som tidsfördriv
 
Reg.datum: Aug 2007
Inlägg: 1 089
crazzy crazzy är inte uppkopplad
Har WN som tidsfördriv
crazzys avatar
 
Reg.datum: Aug 2007
Inlägg: 1 089
Citat:
Originally posted by SimonP@Nov 11 2008, 11:24
Från PHP manualen:
Note: For portability, it is strongly recommended that you always use the b flag when opening files with fopen().
Det behöver inte vara det som är fel i ditt fall, men ändå...
Har redan testat det, funkar inte.
crazzy är inte uppkopplad   Svara med citatSvara med citat
Svara


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 23:38.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
 
Copyright © 2017