FAQ |
Kalender |
![]() |
#1 | |||
|
||||
Har WN som tidsfördriv
|
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); ?> Citat:
Citat:
|
|||
![]() |
![]() |
![]() |
#2 | ||
|
|||
Mycket flitig postare
|
tempnam skapar en unik-fil. Den genererar inte bara ett unikt filnamn.
|
||
![]() |
![]() |
![]() |
#3 | |||
|
||||
Har WN som tidsfördriv
|
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? |
|||
![]() |
![]() |
![]() |
#4 | |||
|
||||
Mycket flitig postare
|
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. |
|||
![]() |
![]() |
![]() |
#5 | |||
|
||||
Har WN som tidsfördriv
|
Citat:
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. |
|||
![]() |
![]() |
![]() |
#6 | ||
|
|||
Klarade millennium-buggen
|
Skickar inte Cellsynt content som en base64 zipfil?
|
||
![]() |
![]() |
![]() |
#7 | |||
|
||||
Har WN som tidsfördriv
|
Citat:
|
|||
![]() |
![]() |
![]() |
#8 | |||
|
||||
Har WN som tidsfördriv
|
Okej, med en base64_decode försvann allt utom en rad
![]() |
|||
![]() |
![]() |
![]() |
#9 | |||
|
||||
Mycket flitig postare
|
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å... |
|||
![]() |
![]() |
![]() |
#10 | |||
|
||||
Har WN som tidsfördriv
|
Citat:
|
|||
![]() |
![]() |
Svara |
|
|