Ok, tôi cho phép (trong một tập lệnh) cho một số loại tệp nhất định được tải lên thông qua cách tiếp cận do Quản trị viên xác định! Làm cách nào tôi có thể biết các tệp này có thuộc loại mà Quản trị viên đã đặt để đảm bảo chúng không phải là tệp giả hay không. Tôi hiện đang sử dụng phương pháp tiếp cận loại mime, nhưng các trình duyệt khác nhau có thể đặt các loại mime khác nhau, vì vậy điều này không thực sự giúp ích nhiều. Việc kiểm tra phần mở rộng của tệp cũng không giúp ích gì, vì mọi người có thể giải quyết vấn đề này bằng cách cho phép tiện ích mở rộng được phép, nhưng sẽ thuộc loại tệp khác.Làm thế nào để chắc chắn rằng họ đang tải lên các tệp nhất định
Có lẽ có một tham chiếu ở đâu đó về cách kiểm tra các byte trong nhiều loại tệp khác nhau để đảm bảo rằng nó đúng loại? Có lẽ điều này cũng có thể được giả mạo, nhưng ít nhất nó sẽ chính xác hơn một chút khi sử dụng biểu mẫu để tải tệp lên và gửi chúng.
Ai đó có thể giúp tôi với những ý tưởng về điều này không?
Cảm ơn :)
Bạn đang mong đợi loại tệp nào? Tùy thuộc vào tệp, bạn có thể đọc tiêu đề của chúng để xem loại tệp nào. – alex
Vâng, Quản trị viên chọn tệp nào họ muốn được phép tải lên, bằng cách đặt trong phần mở rộng của mỗi tiện ích mở rộng tệp được phân tách bằng dấu phẩy. Vì vậy, bây giờ tôi chỉ cần 'phát nổ (',', $ phần mở rộng)' trên nó và đảm bảo rằng loại tệp là chính xác cho tất cả các phần mở rộng trong mảng đó được trả về. Có cách nào để làm việc này không? Những tập tin nào bạn có thể đọc tiêu đề trên ?? Và những gì các tập tin bạn có thể không đọc tiêu đề trên ?? Bạn có một ý tưởng về một cách tốt hơn để thực hiện điều này mà sẽ là tốt hơn cho an ninh và/hoặc mã khôn ngoan? – SoLoGHoST
Hãy xem ['mime_content_type()'] (http://php.net/manual/en/function.mime-content-type.php). – alex