Có phần như thế nào và khi nào/ở đâu. Làm thế nào là khá đơn giản, như các tập tin nhị phân có chứa một tiêu đề và tiêu đề khá dễ dàng để thoát ra và kiểm tra. Đối với tệp windows, bạn có thể kiểm tra bài viết Executable-File Header Format. Các định dạng tương tự được sử dụng cho các loại nhị phân khác, vì vậy bạn có thể xác định loại bạn cho phép và những loại bạn không cho phép.
LƯU Ý: Bài viết được liên kết dành cho truy vấn đầy đủ tệp. Có các phím tắt giá rẻ, xuống và bẩn, nơi bạn chỉ kiểm tra một vài byte.
Thời gian/địa điểm tùy thuộc vào cách bạn nhận tệp. Nếu bạn đang sử dụng phương pháp trừu tượng hóa cao (thư viện tải lên), điều này khá bình thường, bạn có thể phải truyền toàn bộ tệp trước khi bạn có thể bắt đầu truy vấn các bit. Cho dù nó được truyền vào bộ nhớ hay bạn phải lưu và xóa phụ thuộc vào mã hóa của bạn và thậm chí cả thư viện. Nếu bạn kiểm soát việc phát trực tuyến, bạn có khả năng truyền trực tiếp trong các byte đầu tiên (phần tiêu đề) và hủy bỏ quá trình ở giữa luồng.
Nguồn
2011-08-03 19:00:19
Tiêu đề tệp có thể được giả mạo. Kiểm tra hai byte đầu tiên của dữ liệu được tải lên - nếu đó là 'MZ', tỷ lệ cược là bạn đã có một tệp thực thi. –
trùng lặp: http://stackoverflow.com/questions/3635128/validate-file-type-extension – Matthieu