Cara Melindungi File Media yang Diunggah ke WordPress

Perpustakaan Media WordPress adalah alat praktis untuk mengelola gambar, dokumen, dan konten multimedia. Ini mengatur file yang diunggah ke dalam folder berdasarkan tanggal dan membuat berbagai ukuran gambar. Semua fitur hebat untuk situs web dasar.

Namun ada beberapa kelemahan. Struktur file yang dapat diprediksi pada sistem manajemen konten (CMS) memudahkan untuk menebak di mana file disimpan. Misalnya, dokumen anggaran Inggris dibocorkan sebelum rilis resminya. Bagaimana ini bisa terjadi? Seorang jurnalis dapat menebak nama file berdasarkan versi tahun lalu:

BBC dapat mengakses versi PDF dari laporan utama OBR pada pukul 11:45 hari Rabu dengan mengganti kata 'Maret' dengan 'November' di alamat web edisi sebelumnya.

Mesin pencari juga dapat mengindeks file media situs Anda. Ini bisa bermanfaat bagi strategi SEO Anda, tapi tidak selalu diinginkan. Pertimbangkan situs keanggotaan yang memerlukan registrasi untuk mengakses file tertentu. Seorang pengguna mungkin menemukan file melalui pencarian, sehingga menggagalkan tujuan menyembunyikan file di balik login.

Semua ini tidak berarti ada kelemahan keamanan. Sebaliknya, WordPress tidak dibuat dengan mempertimbangkan penyimpanan media pribadi. Untungnya, ada cara mudah untuk meningkatkan keamanan file media.

Mari kita tinjau beberapa alat dan teknik untuk melindungi file media WordPress Anda. Mereka akan menjauhkan file Anda dari pengintaian dan bahkan mungkin menghemat bandwidth hosting Anda.

Metode Perlindungan File yang Tersedia

Hal pertama yang perlu diketahui tentang melindungi file media Anda adalah adanya beberapa jenis perlindungan. Metode yang Anda gunakan akan bergantung pada kebutuhan spesifik Anda. Kami akan membagi bagian ini berdasarkan skenario umum.

Perhatikan bahwa tidak satu pun opsi berikut ini yang menjamin keamanan file dalam situasi berisiko tinggi seperti kebocoran pemerintah Inggris di atas. Sebaliknya, memang demikian langkah-langkah dasar itu akan mempersulit seseorang (atau sesuatu) untuk mengakses file Anda.

Oleh karena itu, berikut beberapa cara untuk meningkatkan keamanan file.

Blokir Akses File Langsung Dari Situs Luar (Hotlinking)

Katakanlah Anda memiliki file PDF besar di situs web Anda. Secara default, situs web eksternal dapat menautkan langsung ke file tersebut (alias hotlinking). Ini mungkin tampak tidak berbahaya, tetapi setiap kali pengguna mengeklik tautan itu, akses file diperhitungkan terhadap bandwidth hosting Anda. Lebih buruknya lagi, pengguna tidak pernah mengunjungi situs Anda.

Solusinya adalah dengan memblokir akses hotlink di level server. Tambahkan cuplikan berikut ke situs web Anda .htaccess mengajukan:

# Deny direct access to uploads unless navigated from your  site (change example.com to your domain name)
<IfModule mod_rewrite.c>
RewriteEngine On

# Only apply to files inside uploads directory
RewriteCond %{REQUEST_URI} ^/wp-content/uploads/ [NC]

# Allow requests from your own domain
RewriteCond %{HTTP_REFERER} !^https?://(www\.)?example\.com/  [NC]

# Block direct access to specified file types
RewriteRule \.(mp3|mp4|pdf|zip)$ - [F,NC,L]

</IfModule>

Jika situs web Anda berjalan di server NGINX, tambahkan cuplikan ini ke nginx.conf mengajukan:

# Deny direct access to uploads unless navigated from your  site (change example.com to your domain name)
# File types protected: mp3, mp4, pdf, zip
  location ~* ^/wp-content/uploads/.*\.(pdf|zip|mp4|mp3)$ {
  
	valid_referers  none blocked server_names *.example.com example.com;
    if  ($invalid_referer) {
  return 403;
  }
}

Pastikan untuk berubah example.com untuk mencocokkan nama domain Anda dan mengedit ekstensi file yang disertakan agar sesuai dengan kebutuhan Anda.

Catatan: Kami tidak menyarankan melindungi file gambar dengan cara ini, karena dapat menyebabkan hasil yang tidak diinginkan. Misalnya, Anda tidak akan dapat menyertakan gambar atau tautan file dari server di buletin email Anda tanpa menambahkan beberapa pengecualian pada kode di atas.

Cegah Mesin Pencari Mengindeks File Media Anda

File media WordPress yang diunggah dapat dengan mudah muncul di hasil pencarian. Hal ini mungkin tidak diinginkan karena beberapa alasan:

  • Tautan langsung ke file besar dapat menghabiskan bandwidth.
  • Pengguna tidak mengunjungi situs web Anda, hanya mengunduh file.
  • File khusus anggota dapat diekspos ke publik.

Bagian dari strategi perlindungan file apa pun harus mencakup mencegah (atau mencegah) pengindeksan mesin pencari. Oleh karena itu, ada beberapa metode untuk diterapkan.

Pertama, kita dapat menambahkan yang berikut ini ke situs kita robots.txt file untuk mencegah perayapan /wp-content/uploads/ map:

User-agent: *
Disallow: /wp-content/uploads/

Ini tidak akan mencegah pengindeksan file Anda, hanya merangkak. Manfaat utamanya adalah mengurangi beban pada server Anda.

Ke sepenuhnya mencegah pengindeksan, kita dapat menggunakan X-Robots-Tag tajuk.

Untuk server Apache, tambahkan cuplikan ini ke situs Anda .htaccess mengajukan:

# Prevent indexing of media files in /wp-content/uploads/
<IfModule mod_headers.c>
<FilesMatch  "\.(pdf|doc|docx|xls|xlsx|ppt|pptx|zip|rar|7z|mp3|m4a|wav|mp4|mov|avi|webm)$">
Header always set  X-Robots-Tag "noindex, nofollow, nosnippet, noarchive"
</FilesMatch>
</IfModule>

Pengguna NGINX dapat menambahkan ini ke nginx.conf mengajukan:

# Prevent indexing of media files in /wp-content/uploads/
  location ~*  ^/wp-content/uploads/.*\.(pdf|doc|docx|xls|xlsx|ppt|pptx|zip|rar|7z|mp3|m4a|wav|mp4|mov|avi|webm|jpg|jpeg|png|gif|webp|svg)$  {
  add_header  X-Robots-Tag "noindex, nofollow, nosnippet, noarchive" always;
  }

Metode di atas akan mengurangi lalu lintas bot dan mengurangi kemungkinan file Anda muncul di hasil pencarian.

Cegah Akses ke Halaman Lampiran WordPress

Secara default, WordPress membuat postingan untuk setiap file media yang Anda unggah. Ini mungkin berguna untuk beberapa kasus penggunaan khusus, tetapi ini sering kali merupakan fitur yang terlupakan. Tanpa tindakan lebih lanjut, postingan tersebut dapat diindeks oleh mesin pencari.

Beberapa plugin SEO, seperti SEO Yoast, PeringkatMatematikaDan Semua dalam Satu SEOmenawarkan pengaturan untuk menonaktifkan halaman lampiran. Ini adalah cara paling sederhana untuk mencegah mesin pencari atau pengguna mengaksesnya.

Singkatnya, Anda juga dapat menggunakan cuplikan kode di tema Anda functions.php file atau plugin khusus. Kami akan membagikan beberapa di antaranya yang mencakup skenario umum.

Mengembalikan Kesalahan 404 pada Halaman Lampiran:

Jika Anda ingin menolak akses ke halaman lampiran, cuplikan berikut dapat melakukannya. Pengunjung akan melihat halaman 404, bukan lampirannya.

<?php
  /**
  * Force attachment  pages to 404.
  */
  add_action( 'template_redirect', function () {
  if ( !  is_attachment() ) {
  return;
  }
  
  global  $wp_query;
  $wp_query->set_404();
  status_header(  404 );
  nocache_headers();
  
  // Load  your 404 template.
  include  get_query_template( '404' );
  exit;
  } );

Alihkan Halaman Lampiran ke Postingan Induk:

Berikut pendekatan yang sedikit berbeda yang mengarahkan pengguna ke postingan induk lampiran. Ini berguna untuk blog dan publikasi online lainnya yang ingin memastikan pengguna melihat konten mereka, bukan file media.

<?php
  /**
  * Redirect attachment  pages to their parent post when available.
  */
  add_action( 'template_redirect', function () {
  if ( !  is_attachment() ) {
  return;
  }

  $attachment_id  = get_queried_object_id();
  $parent_id     = wp_get_post_parent_id( $attachment_id );
  if (  $parent_id ) {
  wp_safe_redirect(  get_permalink( $parent_id ), 301 );
  exit;
  }

  // No  parent: redirect to file URL if it exists.
  $url =  wp_get_attachment_url( $attachment_id );
  if ( $url  ) {
  wp_safe_redirect(  $url, 301 );
  exit;
  }
  wp_safe_redirect(  home_url( '/' ), 302 );
  exit;
  } );

Jika Anda tidak memerlukan halaman lampiran WordPress, tidak ada alasan untuk menyimpannya. Untungnya, Anda memiliki beberapa opsi untuk memberi mereka dukungan.

Gunakan Plugin untuk Perlindungan File Media

Anda juga dapat menggunakan plugin untuk melindungi file media WordPress Anda. Plugin yang tepat dapat melakukan beberapa atau semua fungsi di atas untuk menjaga file Anda lebih aman.

Misalnya, Unduh Monitor menawarkan banyak fungsi, termasuk perlindungan file. Di antara fitur-fiturnya:

  • Nonaktifkan atau aktifkan folder tertentu untuk pengunduhan file.
  • Buat URL yang dibuat secara acak untuk file yang ingin Anda lindungi.
  • Mencoba mengakses file secara langsung akan menghasilkan kesalahan 404.
  • Mewajibkan pengguna untuk login sebelum mengakses file.
  • Melacak berapa kali file telah diunduh.

Versi gratis plugin ini mencakup kasus penggunaan umum. Versi premium bekerja lebih keras dengan berintegrasi dengan plugin formulir populer dan menambahkan perlindungan CAPTCHA.

Sementara itu, banyak plugin keanggotaan hadir dengan beberapa bentuk perlindungan file. Lihat dokumentasi plugin untuk melihat apa yang tersedia.

Plugin Download Monitor menawarkan fitur perlindungan file

Kendalikan File Anda dan Dapatkan Ketenangan Pikiran

Ada beberapa alasan untuk mengunci file media WordPress Anda, meskipun Anda tidak memposting informasi sensitif. Pertama, meningkatnya lalu lintas bot AI berarti penggunaan bandwidth yang lebih tinggi. Membatasi akses ke file besar dapat mencegah biaya tak terduga pada tagihan hosting Anda.

Selain itu, file media dan halaman lampiran dapat keluar dari konteksnya. Pengalihan sederhana dapat membantu dengan mengarahkan pengguna ke konten Anda. Itulah perbedaan antara pengunjung satu kali dan pembaca setia. Sampaikan salam untuk menurunkan rasio pentalan!

Solusi di atas mudah diterapkan ke situs web Anda yang sudah ada. Terlebih lagi, mereka membawa sedikit ketenangan pikiran. Anda tidak perlu khawatir tentang orang yang salah mengakses file Anda atau menyebabkan gangguan lalu lintas di server Anda.

Pertimbangkan kebutuhan perlindungan file Anda dan pengaruhnya terhadap strategi SEO Anda. Dari sana, Anda dapat membuat rencana yang sesuai untuk Anda.



Atas

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top