Membuat Nama File Random Ketika Upload Gambar WordPress Dengan Enkripsi AES 256

Membuat File Nama Random ketika mengupload sebuah gambar ke dalam wordpress, maka file upload otomatis menggunakan nama file bawaan yang sudah ada dari laptop atau PC. Hal ini sangat beresiko untuk mudah ditebaknya URL gambar yang ada pada website kita. Sehingga seseorang dapat mencoba untuk mencari atau mendownloadnya dengan mudah. Contohnya jika kita membuat tutorial dari laptop/PC maka biasanya kita melakukan capture dengan tools bawaan laptop. Sehingga nama file yang akan terbentuk contohnya seperti ini

  • Screenshot_1.png
  • Screenshot_2.png
  • Screenshot_3.png
  • dst.

Jika hasil capture hanya satu atau dua mungkin kita masih bisa me-rename file tersebut secara manual. Tetapi jika file capture banyak maka kita biasanya akan malas untuk me-rename satu-satu. Cara ini sangat membuang waktu karena tidak efisien. Terdapat cara otomatis me-rename file capture ke wordpress tanpa me-rename satu-satu. Selain itu cara ini juga akan membuat file acak dengan melakukan enkripsi terhadap file capture yang akan diupload.

Membuat File Nama Random

Untuk membuat nama file random dengan enkripsi saat melakukan upload file gambar di WordPress, anda bisa menggunakan algoritma enkripsi yang kuat seperti AES (Advanced Encryption Standard). Berikut adalah langkah-langkah untuk melakukannya:

Edit functions.php

Buka file functions.php yang terletak pada themes wordpress yang sedang aktif terpakai, anda bisa mengaksesnya melalui dasbord WordPress atau menggunakan SFTP jika menggunakan Hosting/VPS. Tambahkan konfigurasi dibawah ini pada paling bawah file functions.php.

function randomize_and_encrypt_uploaded_file_name($file) {
    $info = pathinfo($file['name']);
    $ext = empty($info['extension']) ? '' : '.' . $info['extension'];
    $name = basename($file['name'], $ext);
    $encrypted_name = openssl_encrypt($name . microtime(), 'aes-256-cbc', 'your-encryption-key', 0, 'your-iv');
    $file['name'] = md5($encrypted_name) . $ext;
    return $file;
}
add_filter('wp_handle_upload_prefilter', 'randomize_and_encrypt_uploaded_file_name');

Konfigurasi ini menggunakan fungsi openssl_encrypt untuk mengenkripsi nama file dengan algoritma AES-256-CBC sebelum mengacaknya dengan hash MD5. Pastikan Anda mengganti 'your-encryption-key' dan 'your-iv' dengan kunci enkripsi dan inisialisasi vektor (IV) yang sesuai. Setelah itu simpan perubahan setelah selesai menambahkan kode.

Testing Upload File

Lakukan upload file gambar dengan nama file bebas. Kemudian ketika upload lakukan perbandingan nama file yang asli dan setelah ter-upload pada wordpress. Contoh file upload yang saya coba testing bernama “AES_encryption_ariffathoni.png”.

Membuat File Nama Random Ketika Upload Gambar WordPress

Setelah file gambar diupload maka nama file akan menjadi file random yang sudah terenkripsi nama file.

Membuat File Nama Random Ketika Upload Gambar WordPress

Dengan melakukan penambahan konfigurasi tersebut, kita bisa membuat nama file random agar lebih efisien dan membuat sulit bagi pihak yang tidak berwenang untuk menebak URL file gambar dan mengaksesnya tanpa izin. Dengan menggunakan nama file random, kita dapat meningkatkan keamanan dan efisiensi pengelolaan file di website WordPress.

Sekian terimakasih semoga bermanfaat.

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *


Back To Top
Dilindungi Oleh
Shield Security