10 Cuplikan & Peretasan Kode htaccess yang Berguna
Diterbitkan: 2020-09-10.htaccess
adalah salah satu file yang harus diketahui dan dipahami oleh setiap admin web. Pada tingkat dasarnya, ini mengontrol akses ke direktori situs Anda. Tetapi ada lebih dari yang dapat Anda lakukan, seperti yang akan ditunjukkan oleh cuplikan dalam posting ini.
Jika Anda ingin mempelajari dasar-dasar .htaccess
, Anda harus memeriksa artikel Pengantar .htaccess kami, yang menjelaskan dengan cukup baik semua yang Anda perlukan untuk memulai dan menjalankannya.
Anda mungkin juga menyukai Cuplikan Kueri SQL WordPress yang berguna ini atau cuplikan ini yang membuat WordPress ramah pengguna untuk klien Anda.
1. Mengontrol Akses ke File dan Direktori
Perlindungan kata sandi adalah satu hal, tetapi terkadang Anda mungkin perlu sepenuhnya memblokir pengguna agar tidak memiliki opsi untuk mengakses file atau direktori tertentu. Ini biasanya terjadi pada folder sistem, seperti folder includes
yang aplikasinya memerlukan akses, tetapi tidak ada pengguna yang memerlukan hak istimewa.
Untuk melakukan ini, tempel kode ini ke file .htaccess
dan letakkan di direktori:
Namun, ini akan memblokir akses ke semua orang, termasuk Anda. Untuk memberi diri Anda akses, Anda perlu menentukan alamat IP Anda. Berikut kodenya:
xxx.xxx.xxx.xxx
adalah IP Anda. Jika Anda mengganti tiga digit terakhir dengan 0/12
misalnya, ini akan menentukan rentang IP dalam jaringan yang sama, sehingga Anda tidak akan kesulitan untuk mendaftar semua IP yang diizinkan secara terpisah.
Jika Anda ingin memblokir akses ke file tertentu, termasuk .htaccess
itu sendiri, gunakan cuplikan berikut:
Demikian pula, jika Anda ingin mengizinkan IP yang diberikan, daftarkan dengan allow from
.
Jika Anda ingin memblokir akses ke jenis file tertentu, gunakan ini sebagai gantinya:
2. Menonaktifkan Penjelajahan Direktori
Untuk mencegah penjelajahan direktori, tambahkan ini:
Namun, jika karena alasan tertentu Anda ingin mengaktifkan penjelajahan direktori, ubah ke berikut:
3. Mempercepat Waktu Muat dengan Mengompresi File
Anda dapat mengompres semua jenis file, tidak hanya gambar. Misalnya, untuk mengompresi file HTML , gunakan ini:
Untuk mengompresi file TEXT , gunakan ini:
Anda juga dapat mengompresi JavaScript , atau menambahkan kompresi ke beberapa jenis file dengan satu perintah:
Atau, jika Anda ingin mengompres semua file JavaScript, HTML, dan CSS dengan GZIP, Anda dapat menggunakan ini:
4. Lindungi Situs Anda dari Hotlinking
Jika Anda tidak ingin gambar Anda di-hotlink, tambahkan ini ke file .htaccess
Anda:
Cukup ganti yourdomain.com dengan milik Anda, dan Anda siap melakukannya.
5. Memblokir Pengunjung yang Direferensikan dari Domain Tertentu
Jika Anda memiliki pengguna dari domain tertentu yang tidak Anda sambut, Anda dapat mencekal mereka dari situs Anda. Misalnya, jika situs Anda terdaftar di tempat yang tidak Anda inginkan lalu lintasnya (yaitu, situs dewasa, situs blackhat, dll.), Anda dapat menyajikannya dengan halaman 403 Terlarang. Anda harus mengaktifkan mod_rewrite
, tetapi Anda akan baik-baik saja karena biasanya aktif. Tambahkan cuplikan ini:
Anda perlu mengganti bannedurl1.com
dan bannedurl2.com
dll dengan nama domain yang ingin Anda blacklist. Anda mungkin ingin menggunakan tanda [NC]
karena menentukan bahwa nama domain yang Anda masukkan tidak peka huruf besar/kecil. Bendera [F]
menentukan tindakan yang harus diambil – dalam hal ini untuk menunjukkan kesalahan 403 Terlarang. Jika Anda ingin memblokir beberapa situs, gunakan flag [NC,OR]
untuk setiap domain kecuali yang terakhir dan jika Anda ingin memblokir satu domain, gunakan flag [NC]
saja.
6. Memblokir Permintaan dari Agen Pengguna Tertentu
Jika file log Anda menunjukkan agen pengguna tertentu (bot atau spider), Anda dapat menambahkan beberapa baris ke .htaccess
dan menolak mereka mengakses situs Anda:
Ganti badbot1
, badbot1
, dll. dengan nama bot dari file log Anda. Ini harus menjauhkan program tersebut dari situs Anda.
7. File Caching
Cara lain untuk mempercepat waktu muat situs Anda adalah melalui caching file. Inilah yang perlu Anda tambahkan untuk men-cache file:
Anda dapat menambahkan lebih banyak jenis file (atau menghapus beberapa di antaranya) ke urutan file yang tercantum dalam contoh ini – lakukan apa yang cocok untuk Anda. Anda juga dapat menggunakan max-age
untuk menentukan jumlah waktu dalam detik file Anda akan tinggal di cache.
8. Menonaktifkan Caching untuk Jenis File Tertentu
Jika Anda tidak ingin men-cache jenis file tertentu, lebih mudah untuk tidak memasukkannya ke dalam urutan cache. Namun, terkadang file mungkin di-cache meskipun Anda tidak mencantumkannya secara eksplisit di sana, dan dalam kasus ini, Anda mungkin ingin menonaktifkan caching hanya untuk file tersebut. Paling sering, Anda ingin menonaktifkan caching untuk file dinamis, seperti skrip. Berikut adalah cara melakukannya:
Cukup pipa file yang Anda ingin caching dinonaktifkan, dan ini dia.
9. Melewati Dialog Unduh
Secara default, ketika Anda mencoba mengunduh file dari server Web, Anda mendapatkan dialog yang menanyakan apakah Anda ingin menyimpan file atau membukanya. Dialog ini sangat menjengkelkan dengan file media besar atau PDF. Jika file yang telah Anda unggah ke server Anda untuk diunduh, Anda dapat menyelamatkan pengguna dari masalah dan langsung melanjutkan untuk mengunduh. Inilah yang perlu Anda atur di .htaccess
:
10. Mengganti nama File .htaccess
Jika karena alasan tertentu, sebagian besar terkait keamanan, Anda ingin mengganti nama file .htaccess
Anda, sangat mudah untuk melakukannya. Secara teori, mengganti nama file .htaccess
seharusnya tidak menyebabkan masalah dengan aplikasi yang berjalan di server Anda, tetapi jika kebetulan Anda melihat masalah seperti itu setelah Anda mengganti nama file, cukup ganti namanya kembali ke nama aslinya.
Anda juga perlu memperbarui entri apa pun dalam file itu sendiri atau di mana pun .htaccess
disebutkan; jika tidak, Anda akan mendapatkan banyak kesalahan.
11. Mengubah Halaman Indeks Default
Jika Anda ingin halaman indeks Anda menjadi sesuatu yang berbeda dari default index.html
, index.php
, index.htm
, dll ini sangat mudah dilakukan. Inilah yang perlu Anda tambahkan ke .htaccess
:
Ganti mypage.html
dengan URL sebenarnya dari halaman yang ingin Anda gunakan sebagai indeks dan selesai.
12. Mengarahkan ke Koneksi https yang Aman
Jika Anda menggunakan HTTPS dan ingin mengarahkan pengguna ke halaman aman situs Anda, gunakan ini:
13. Membatasi Batas Upload File di PHP, Ukuran Maksimum Data Posting, Waktu Eksekusi Script Maks, dll.
.htaccess
memungkinkan Anda untuk mengatur beberapa nilai yang secara langsung mempengaruhi aplikasi PHP Anda. Misalnya, jika Anda ingin menerapkan batas unggah di PHP agar Anda tidak kehabisan ruang hosting karena file besar, gunakan ini:
Tentu saja, Anda dapat mengatur nilainya ke apa pun yang Anda anggap tepat – 15M (MB) dalam contoh ini tidak tetap. Anda juga dapat membatasi ukuran posting maksimum untuk mengunggah di PHP. Untuk melakukannya, tambahkan ini:
Demikian pula, Anda dapat mengubah 10M
ke nilai apa pun yang cocok untuk Anda. Jika Anda tidak ingin skrip dijalankan selamanya, Anda dapat membatasi waktu eksekusinya dengan bantuan berikut ini:
240
adalah jumlah detik sebelum skrip dihentikan, dan seperti yang Anda duga, itu bisa berupa nilai apa pun. Terakhir, jika Anda ingin membatasi waktu skrip dapat mengurai data input, gunakan ini:
Dan tetapkan nilai apa pun dalam hitungan detik yang cocok untuk Anda.
14. Menyamarkan Jenis File
Terkadang, Anda tidak ingin pengguna mengetahui jenis file dari file di situs Anda. Salah satu cara untuk menyembunyikan informasi ini adalah jika Anda menyamarkannya. Misalnya, Anda dapat membuat semua file Anda terlihat seperti file HTML atau PHP:
Masih banyak lagi yang bisa dilakukan dengan .htaccess
. Misalnya, Anda dapat mengatur terjemahan otomatis halaman situs Anda, atau mengatur zona waktu server, atau menghapus www dari URL, atau menggunakan daftar direktori mewah, dll. Bagaimanapun, sebelum Anda memulai eksperimen dengan .htaccess
, selalu buat cadangan yang asli .htaccess
, jadi jika semuanya tidak berjalan sesuai rencana, Anda memiliki copy pekerjaan untuk dikembalikan.