Ok, pozwalam (w ramach skryptu) na przesyłanie określonych typów plików za pośrednictwem zdefiniowanego przez administratora forum podejścia! Skąd mam wiedzieć, czy te pliki są tego typu, które administrator ustawił, aby upewnić się, że nie są fałszywymi plikami. Obecnie używam podejścia typu mime, ale różne przeglądarki mogą ustawiać różne typy MIME, więc to niewiele pomaga. Sprawdzanie rozszerzenia pliku również nie pomaga, ponieważ ludzie mogą obejść ten problem, nadając mu dozwolone rozszerzenie, ale będzie to inny typ pliku.Jak się upewnić, że przesyłają określone pliki?
Być może istnieje odniesienie do sposobu sprawdzenia bajtów w wielu różnych typach plików, aby upewnić się, że jest poprawny? Być może można to również sfałszować, ale przynajmniej bardziej precyzyjnie byłoby użyć formularza do przesyłania plików i wysyłania ich.
Czy ktoś może mi pomóc z pomysłami na ten temat?
Dzięki :)
Jakiego rodzaju plików oczekujesz? W zależności od pliku możesz przeczytać ich nagłówek, aby zobaczyć, jaki to plik. – alex
Cóż, administrator wybiera pliki, które mają być dozwolone do przesłania, umieszczając w rozszerzeniu każdego rozszerzenia pliku oddzielonego przecinkami. Teraz muszę po prostu "rozłożyć (", ", $ rozszerzenia)' na nim i upewnić się, że typ pliku jest poprawny dla wszystkich rozszerzeń w tej tablicy, która zostanie zwrócona. Czy jest jakiś sposób na zrobienie tego? Jakie pliki możesz przeczytać w nagłówku? A jakich plików nie możesz przeczytać w nagłówku? Czy masz pomysł na lepszy sposób wdrożenia tego, który byłby lepszy dla bezpieczeństwa i/lub kodowania? – SoLoGHoST
Spójrz na ['mime_content_type()'] (http://php.net/manual/en/function.mime-content-type.php). – alex