Situasi awal
Untuk situs yang saya setting, saya sedang mencari ke seluruh bidang pengamanan unggahan / unduhan dan membatasi akses ke sana berdasarkan peran / kemampuan pengguna. Tentu saja saya telah membaca beberapa pertanyaan sebelumnya terkait dengan topik (umum) di sini, untuk alasan referensi yang paling penting / menarik yang saya temukan:
- Bagaimana cara Melindungi Upload, jika Pengguna tidak Masuk?
- Bagaimana cara membatasi akses ke file yang diunggah?
- Membatasi akses ke file dalam folder tertentu
- Bagaimana cara membuat unggahan media menjadi pribadi?
- Menggabungkan skrip unduhan PHP ke dalam `functions.php`
Catatan tambahan
Secara umum itu bukan ide yang buruk untuk meningkatkan keamanan instalasi wordpress Anda - misalnya melindungi Anda wp-config.php
- ada banyak hal yang dapat dan harus Anda lakukan. Ada banyak informasi di luar sana bagaimana melakukannya. Saya dalam konteks pertanyaan ini kebanyakan berkaitan dengan unggahan / unduhan saya.
Upload Wordpress tidak diamankan, semua orang dapat menelusuri uploads
folder, kecuali Anda mencegahnya dengan .htaccess
:
Options All -Indexes
The .htaccess
file harus ditempatkan di dalam uploads
folder. Tapi itu tidak benar-benar mengamankan mereka, itu hanya membuat lebih sulit untuk menemukan file. Selain itu Anda dapat mencegah hotlinking
, membatasi akses berdasarkan referrer
- meskipun itu sedikit berbeda saya pikir saya sebutkan itu, saya tidak menjelaskan lebih lanjut, Anda dapat menemukan banyak informasi tentang itu.
Tentu saja memiliki kemungkinan untuk membuat posting pribadi atau membuat jenis posting khusus dengan file templat yang sesuai untuk membuat jenis posting pribadi, tetapi itu tidak mengamankan file Anda. Hal yang sama dapat dikatakan untuk membungkus file dalam kondisi seperti is_user_logged_in()
atau is_admin()
.
Pada sidenote ada banyak plugin di luar sana yang menjanjikan untuk membuat file Anda aman dan terlindungi, tetapi banyak dari mereka hanya berpura-pura melakukannya, beberapa alasan di atas. Saya hanya mengeluarkan itu karena saya cukup yakin bahwa itu tidak diketahui oleh semua orang - jadi, sadarilah itu.
Objektif
Tujuan saya adalah untuk dapat membatasi akses ke (beberapa) unggahan dan masing-masing unduhan. Dan untuk memastikan bahwa tidak ada yang tidak diinginkan dapat memiliki akses ke mereka, bukan secara kebetulan atau jika seseorang mengetahui nama file, file harus benar-benar pribadi dan aman. Bagaimanapun, hanya orang-orang tertentu yang harus memiliki akses tanpa kecuali.
Selain itu saya tidak perlu memprivatisasi seluruh situs, memang itu akan menjadi kontraproduktif - ini digunakan untuk keperluan presentasi publik. Lebih jauh lagi saya ingin solusi mudah digunakan, karena alasan sederhana bahwa beberapa orang yang bekerja dengannya bukan ahli komputer, seperti yang sering terjadi.
Pertanyaan
Karenanya pertanyaannya, adakah (relatif) cara sederhana untuk membatasi akses ke (beberapa) unggahan dan unduhan masing-masing? Dan seperti yang saya lakukan, itu berarti cara untuk benar-benar melindungi dan mengamankan mereka?
Jawaban:
Saya dengan ini menjawab pertanyaan saya sendiri, karena saya menemukan solusi, tetapi saya benar-benar tertarik dengan pendapat Anda tentang itu. Atau mungkin Anda memiliki solusi yang lebih baik, jika demikian, saya benar-benar ingin ke sini tentang hal itu.
Hasil penelitian
Hasil penelitian saya adalah:
1. mendapatkan file di luar root dokumen,
www
folder;2. melarang akses langsung ke folder yang berisi file;
3. biarkan skrip menangani permintaan ke file;
Sumber untuk poin-poin tersebut - setidaknya sebagian besar - termasuk dalam pertanyaan saya.
Larutan
files
akan dibuat diwp-content
dalam proses;.htaccess
file kefiles
folder baru :.htaccess
:Options All -Indexes
Order Deny,Allow
Deny from all
download method
;output file
;allowed to download
;Pikiran penutup
Saya berpikir solusinya cukup banyak mengikuti hasil penelitian. Selain menempatkan file di luar. Tetapi membatasi akses ke / melindungi direktori dan membiarkan skrip menangani permintaan file terpenuhi. Pembatasan akses ditangani oleh
.htaccess
dan skrip dalam hal ini adalah pluginwp-downloadmanger
.Catatan tambahan
download method
keoutput file
dan tentu saja itu adalah suatu keharusan bahwa
.htaccess
file ada di tempatuntuk memeriksa fakta bahwa plugin mengambil alih peran skrip, lihat
wp-downloadmanger.php
- tentang baris 207 hingga 227 (versi 1.6.1); ini dimaksudkan sebagai titik pelengkap untuk informasi terkaitsumber