logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

MIME type i komunikat application/octet-stream dla DOC, PHP, RAR i wielu innych

malum 27 Lut 2012 17:36 3123 6
REKLAMA
  • #1 10606664
    malum
    Poziom 23  
    Posty: 882
    Pomógł: 1
    Ocena: 141
    Mam problem ze stroną internetową, a mówiąc dokładniej chodzi o rozpoznanie MIME type UPLOAD'owanego pliku. Chciałem ograniczyć możliwość uploadowania plików do kilku typów, ale okazuje się, że większość z nich nie jest rozpoznawana i gdy plik przesyłam na serwer otrzymuję komunikat application/octet-stream. Dzieje się tak dla np. formatu DOC, PHP, RAR i wielu innych - formaty plików nie są rozpoznawane, ale np. dla JPG wszystko działa jak powinno. Co zrobić?
  • REKLAMA
  • #2 10606797
    Dżyszla
    Poziom 42  
    Posty: 7065
    Pomógł: 1095
    Ocena: 211
    Zasadniczo nie ma możliwości sprawdzenia typu pliku. Jeśli już, to pewnie odbywa się to na podstawie rozszerzenia ;) Inaczej trzeba by weryfikować, czy plik spełnia wszystkie możliwe warunki istnienia określonych nagłówków - niewykonalne.
  • REKLAMA
  • #3 10607096
    malum
    Poziom 23  
    Posty: 882
    Pomógł: 1
    Ocena: 141
    Dżyszla napisał:
    Zasadniczo nie ma możliwości sprawdzenia typu pliku. Jeśli już, to pewnie odbywa się to na podstawie rozszerzenia ;) Inaczej trzeba by weryfikować, czy plik spełnia wszystkie możliwe warunki istnienia określonych nagłówków - niewykonalne.


    Problem polega na tym, że zrobiłem rozpoznawanie na podstawie rozszerzenia, ale obejść można to dla przykładu tworząc plik z kodem php i zapisać go z rozszerzeniem jpg. Serwer taki plik przepuści i ... nieszczęście gotowe :-(
  • REKLAMA
  • #5 10607592
    malum
    Poziom 23  
    Posty: 882
    Pomógł: 1
    Ocena: 141
    Dżyszla napisał:
    Ale o jakim nieszczęściu myślisz właściwie? Apache dla przykładu także ma zdefiniowane rozszerzenia, które ma przepuszczać przez parser PHP, a jakie nie...


    Z tego co czytałem da się taki plik otworzyć jak zwykły plik php, a to z kolei daje pełen dostęp np. do haseł bazy danych zawartych w plikach
  • REKLAMA
  • #6 10607720
    Dżyszla
    Poziom 42  
    Posty: 7065
    Pomógł: 1095
    Ocena: 211
    A możesz przytoczyć źródło? O ile się orientuję, to dobra konfiguracja serwera nie da szansy na takie potraktowanie pliku. Pliki JPG mają być z zasady przesyłany wprost do klienta, a nie przetwarzane... Więc trudno mi wyobrazić sobie sytuację, w której jest inaczej.

    Ale jeśli np chcesz dopuścić 2-3 typy plików to oczywiście sprawdzanie ich faktycznego typu można zrobić. Odnośnie grafik pomoże biblioteka GD. Ale jeśli chcesz sprawdzać jeszcze, czy to nie jest DOC, RAR, ZIP, txt, PHP, HTML i co tam jeszcze, to zapomnij... Zajedziesz serwer szybciej, niż znajdziesz odpowiedź.
  • #7 10608412
    malum
    Poziom 23  
    Posty: 882
    Pomógł: 1
    Ocena: 141
    Dżyszla napisał:
    A możesz przytoczyć źródło? O ile się orientuję, to dobra konfiguracja serwera nie da szansy na takie potraktowanie pliku. Pliki JPG mają być z zasady przesyłany wprost do klienta, a nie przetwarzane... Więc trudno mi wyobrazić sobie sytuację, w której jest inaczej.

    Ale jeśli np chcesz dopuścić 2-3 typy plików to oczywiście sprawdzanie ich faktycznego typu można zrobić. Odnośnie grafik pomoże biblioteka GD. Ale jeśli chcesz sprawdzać jeszcze, czy to nie jest DOC, RAR, ZIP, txt, PHP, HTML i co tam jeszcze, to zapomnij... Zajedziesz serwer szybciej, niż znajdziesz odpowiedź.


    Nie mogę znaleźć materiałów, które czytałem, ale to też jest ciekawe Film na YouTube

Podsumowanie tematu

✨ Użytkownik ma problem z rozpoznawaniem MIME type przesyłanych plików na stronie internetowej, gdzie pliki DOC, PHP, RAR i inne są identyfikowane jako application/octet-stream. Wskazano, że rozpoznawanie MIME type na podstawie rozszerzenia pliku jest niewystarczające, ponieważ można je łatwo oszukać, zmieniając rozszerzenie. Uczestnicy dyskusji sugerują, że dobra konfiguracja serwera, jak Apache, powinna uniemożliwić niepożądane przetwarzanie plików, a także wskazują na trudności w weryfikacji różnych typów plików, co może obciążyć serwer. Proponowane rozwiązania obejmują użycie biblioteki GD do sprawdzania grafik, ale dla innych typów plików, takich jak DOC czy PHP, zaleca się ostrożność.
Wygenerowane przez model językowy.
REKLAMA