Thật không may, không có cách nào được đảm bảo để làm điều đó tại thời điểm lựa chọn.
Một số trình duyệt hỗ trợ accept
thuộc tính cho input
thẻ. Đây là một khởi đầu tốt, nhưng không thể dựa dẫm hoàn toàn.
<input type="file" name="pic" id="pic" accept="image/gif, image/jpeg" />
Bạn có thể sử dụng a cfinput
và chạy xác thực để kiểm tra phần mở rộng tệp khi gửi, nhưng không phải kiểu kịch câm. Điều này là tốt hơn, nhưng vẫn không phải là chống lừa. Các tệp trên OSX thường không có phần mở rộng tệp hoặc người dùng có thể gắn nhãn sai các loại tệp một cách độc hại.
ColdFusion cffile
có thể kiểm tra kiểu kịch câm bằng cách sử dụng thuộc contentType
tính result ( cffile.contentType
), nhưng điều đó chỉ có thể được thực hiện sau khi tải lên. Đây là đặt cược tốt nhất của bạn, nhưng vẫn không an toàn 100% vì kiểu kịch câm vẫn có thể sai.