Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

PHP mi detektuje PDF kao binary...

[es] :: PHP :: PHP mi detektuje PDF kao binary...

[ Pregleda: 2047 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Ivan Golubović
AV market
Požarevac

Član broj: 3154
Poruke: 586
*.dynamic.sbb.rs.

Sajt: www.AVmarket.rs


+7 Profil

icon PHP mi detektuje PDF kao binary...24.01.2012. u 18:42 - pre 148 meseci
Pokušavam da uradim upload na server, ali naravno sa proverom šta se upload-uje i hoću da namestim da su dozvoljeni formati doc, docx, xls, xlsx kao i pdf.
Kod PDF-a imam problem što kada radim proveru on se predstavlja kao "application/binary" a ne kao "application/pdf"...
E sad, kako rešiti problem, a ne narušiti bezbednost servera?
 
Odgovor na temu

Nikola Poša
Backend (PHP) developer
Beograd

Član broj: 173839
Poruke: 1616
*.adsl-1.sezampro.rs.



+33 Profil

icon Re: PHP mi detektuje PDF kao binary...24.01.2012. u 20:47 - pre 148 meseci
A na osnovu čega si zaključio da je taj neki PDF fajl "application/binary"? Ono "type" polje koje ti stigne u $_FILES nizu nikako ne treba uzimati kao nešto što je relevantno (čak naprotiv iz bezbednosnih razloga), već je najsigurnije do tipa fajla doći uz pomoć Fileinfo ekstenzije. A ako to nije moguće, iz razloga što npr. nemaš tu ekstenziju na serveru, onda bar mime_content_type dolazi u obzir, mada ćeš videti da u manual-u piše da je ona deprecated i da se kao alternativa preporučuje upravo Fileinfo ekstenzija.
 
Odgovor na temu

Ivan Golubović
AV market
Požarevac

Član broj: 3154
Poruke: 586
*.dynamic.sbb.rs.

Sajt: www.AVmarket.rs


+7 Profil

icon Re: PHP mi detektuje PDF kao binary...25.01.2012. u 01:09 - pre 148 meseci
Pokušavam da namestim fileinfo, ali mi ne ide...
Code:
$finfo = finfo_open(FILEINFO_MIME_TYPE);
    echo finfo_file($finfo, $fajl['tmp_name']);
    finfo_close($finfo);
sada mi radi PDF, DOC i XLS, ali mi ne rade novi Office dokumenti (XLSX i DOCX) za koje mi vraća application/zip.
Inače verzija php-a na serveru je 5.3.2 i fileinfo ekstenzije 1.0.5-dev.

Za nove Office dokumente trebalo bi da vrati:
.docx -=:> "application/vnd.openxmlformats-officedocument.wordprocessingml.document"
.xlsx -=:> "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"

što npr. radi u slučaju $fajl['type']...
 
Odgovor na temu

Nikola Poša
Backend (PHP) developer
Beograd

Član broj: 173839
Poruke: 1616
*.adsl-a-4.sezampro.rs.



+33 Profil

icon Re: PHP mi detektuje PDF kao binary...25.01.2012. u 17:42 - pre 148 meseci
A na kom OS-u to isprobavaš? Šta imaš u $_ENV['MAGIC']?

Da bi fileinfo radio kako treba, taj magic db fajl mora biti postavljen, jer u stvari u njemu je suština. Ako putanju do tog fajla ne proslediš ručno, kao drugi parametar finfo_open, ta funkcija će pokušati sama da ga pronađe, mada pitanje je da li će ga zaista i naći. Uključi prikazivanje warning-a, kako bi eventualno video da li PHP možda izbacuje neko upozorenje da nije uspeo da load-uje magic fajl, pri pozivu finfo_open f-je.
 
Odgovor na temu

Ivan Golubović
AV market
Požarevac

Član broj: 3154
Poruke: 586
*.dynamic.sbb.rs.

Sajt: www.AVmarket.rs


+7 Profil

icon Re: PHP mi detektuje PDF kao binary...26.01.2012. u 21:44 - pre 148 meseci
Proveriću šta se dešava... Testing server je Windows Server 2008 / Apache / PHP, a production će da bude CentOS sa novijom verzijom PHP-a...
 
Odgovor na temu

Goran Rakić
Beograd

Moderator
Član broj: 999
Poruke: 3766

Sajt: blog.goranrakic.com


+125 Profil

icon Re: PHP mi detektuje PDF kao binary...27.01.2012. u 21:53 - pre 148 meseci
Kako novi Office formati u suštini jesu ZIP arhive (promeni ekstenziju pa zaviri unutra), verovatno je problem u zastareloj verziji baze za upoređivanje.
http://sr.libreoffice.org — slobodan kancelarijski paket, obrada teksta, tablice,
prezentacije, legalno bez troškova licenciranja
 
Odgovor na temu

[es] :: PHP :: PHP mi detektuje PDF kao binary...

[ Pregleda: 2047 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.