Logo của Wordpress - giản thể

Cho phép, không cho phép từng loại file được Upload lên WordPress

Vấn đề cho phép loại file nào được phép upload lên hệ thống website là việc quan trọng, đặc biệt trong vấn đề bảo mật cho website của bạn, tuy nhiên trong admin của WordPress lại không cho phép can thiệp vào điều này !

Hôm vừa rồi tôi có làm hệ thống WordPress Multisite cho một doanh nghiệp, điều quan trọng nhất – tất nhiên là phải hạn chế môt số loại file không được phép upload lên hệ thống của họ, cho dù là vô tình hay cố ý, thì mình cần phải hạn chế nó, giả như một hacker nào đó có tài khoản, có thể upload vài file php lên là cả hệ thống đi tong !

Okey, giờ ta cần một plugin, thay vì file functions của giao diện, vì giao diện có thể thay đổi, còn plugin thì có thể để đó dùng dài dài, ngoài ra vài hàm không để được trong file functions của WordPress.

Nếu bạn muốn dump ra màn hình xem hệ thống đang hỗ trợ những đuôi file nào thì có thể dùng hàm sau:

function my_myme_types($mime_types){
    return $mime_types;
}
add_filter('upload_mimes', 'my_myme_types', 1, 1);

Nếu bạn muốn thêm một file type hoặc xóa một loại file type ra khỏi danh sách cho phép upload, thêm hàm sau:

function my_myme_types($mime_types){
    $mime_types['avi'] = 'video/avi'; // THÊM AVI 
    unset($mime_types['pdf']); //Xóa PDF
    return $mime_types;
}
add_filter('upload_mimes', 'my_myme_types', 1, 1);

Trong trường hợp bạn muốn fixed lại toàn bộ danh sách cho phép tải lên của WordPress, có thể dùng hàm sau trong plugin:

function my_myme_types($mime_types){
    $mime_types = array(
        'jpg|jpeg|jpe' => 'image/jpeg',
        'gif' => 'image/gif',
        'png' => 'image/png',
        'bmp' => 'image/bmp',
        'tif|tiff' => 'image/tiff'
    );
    return $mime_types;
}
add_filter('upload_mimes', 'my_myme_types', 1, 1);

Đặc biệt, các hàm này rất quan trọng nếu bạn làm một form cho phép người dùng tại Front-end có thể upload file lên, đừng tin ai kể cả bạn, nên hạn chế loại file vẫn là phương án tốt, cho dù nó không hẳn tuyệt đối, tôi thì có thể thêm cách không cho chạy bất kì file php nào trong folder upload của Wp nữa là tương đối yên tâm !

Chúc các bạn thành công !

TÁC GIẢ:

Tôi là Jam, thâm niên 7 năm thiết kế website và làm SEO. Hãy theo dõi blog của tôi để nhận được nhiều chia sẻ thú vị xung quanh chủ đề công nghệ.

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *