Unlimited Plugins, WordPress themes, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. Web Development
Code

5 Solusi Htaccess Menyenangkan dan Praktis

by
Difficulty:IntermediateLength:ShortLanguages:

Indonesian (Bahasa Indonesia) translation by ⚡ Rova Rindrata (you can also view the original English article)

Hari ini kita akan membahas beberapa praktik menggunakan file htaccess yang dapat Anda gunakan dalam aplikasi web Anda.

Persyaratan

File Htaccess adalah file teks konfigurasi biasa yang digunakan oleh server web Apache HTTP. Mereka memungkinkan pengguna untuk mengatur pilihan tingkat direktori tanpa memerlukan akses ke file httpd.conf. Dengan demikian maka diperlukan bahwa server Anda menggunakan Apache, dan web host yang mengijinkan file htaccess (host paling populer mengijinkannya).

Saya berasumsi pengetahuan dasar dari htaccess, tetapi jika Anda perlu untuk menyegarkan diri periksa artikel ini oleh Joseph Pecoraro.

1. Mencegah Hotlinking

Hotlinking, atau menghubungkan inline, adalah ketika satu situs web me-link langsung ke objek di situs lain. Ini memakan bandwidth situs untuk memberikan gambar di halaman situs kedua. Pada situs foto populer ini bisa menjadi masalah besar, meskipun lucu di suatu waktu.

Ada cara untuk memperbaiki masalah bertumbuh ini menggunakan htaccess. Pertama di sini adalah gambar yang berusaha untuk kita lindungi.

Kita akan melangkah melalui ini baris demi baris.

  1. Pertama kami perlu menyalakan rewrite engine di Apache, hal ini memungkinkan kita untuk mengarahkan permintaan pengguna.
  2. Selanjutnya Kita mulai mengatur kondisi kita menggunakan RewriteCond. Ini adalah fungsi yang mengambil dua argumen: TestString dan CondPattern. TestString adalah string yang kita ingin memeriksa terhadap CondPattern kita (menggunakan regular expressions). ${HTTP_REFERER} adalah variabel yang disediakan oleh Apache yang memegang domain dari permintaan yang datang, dalam contoh ini kami ingin mengijinkan permintaan dari referrer HTTP kosong untuk melindungi pengguna yang berada di server proxy yang mengirim referer kosong.
  3. Selanjutnya kita menetapkan domain mana yang kita ijinkan untuk dihubungkan dengan gambar kita menggunakan sintaks yang sama kecuali sekarang kita memberikan sebuah URL. Flag [NC] pada akhir perintah hanya menginstruksikan mesin untuk mengabaikan casing. Anda dapat menambahkan baris domain sebanyak yang Anda inginkan di sini, menggunakan sintaks yang sama. Demi contoh saya menambahkan domain saya pribadi, tapi komentarkan itu.
  4. Akhirnya, baris terakhir adalah RewriteRule yang ingin kita gunakan jika salah satu kondisi di atas tidak terpenuhi. Dibutuhkan dua argumen Pattern dan Substitution, di mana pola sesuai dari regular expression dan substitusi adalah apa yang kita inginkan untuk menggantikan setiap kecocokan dengannya. Dalam hal ini kita sedang mencari permintaan yang berakhiran dengan jpg, png, dan gif; Jika ditemukan kita ingin menggunakan substitusi kosong. Namun di dalam flag kita kirim apa yang kita ingin harus dilakukan, NC berarti tidak ada case, F mengirimkan 403 forbidden error untuk pengguna, dan L memberitahu engine untuk berhenti me-rewrite sehingga tidak ada aturan lain yang diterapkan.

Ini cukup sederhana, tapi mungkin kita bermminat untuk memberitahu pengguna jika kita tidak ingin mereka hotlink gambar kita, jadi mari kita mengarahkan semua permintaan hotlink ke gambar daripada mengirim 403 forbidden error. Hal ini dilakukan dengan mengganti baris terakhir dengan kode ini.

Anda dapat mengubah url menjadi lokasi gambar apapun yang Anda sukai pada domain Anda, tapi ingat ini tidak diperlukan untuk berakhiran jpg, png, atau gif karena akan mengajukan aturan kembali dan mengirimkan server menjadi loop tak terbatas. Saya memilih untuk menggunakan ekstensi  lama .jpeg untuk memperbaiki hal ini. Flag R yang menggantikan F hanya mengirimkan redirect.

2. Blokir Pengguna Berdasarkan Alamat IP

Ini adalah tipskecil yang sangat bagus jika Anda memiliki seorang spammer di website Anda. Jika Anda dapat menemukan IP di log Anda, hanya tambahkan ke file htaccess.

Menggunakan direktif Order dalam modul mod_access kita dapat menetapkan IP untuk menolak dan mengijinkan. Hanya menggunakan sintaks Deny from IP ADDRESS kita dapat melarang para pengguna mengakses direktori kita.

3. Error Documents

Semua situs siap produksi harus menggunakan halaman kesalahan kustom untuk sentuhan profesional. Hal ini mudah menggunakan direktif ErrorDocument di inti Apache. Halaman kustom jauh lebih baik daripada halaman kesalahan default Apache.

ErrorDocument mengambil dua argumen error-code dan document. Pada kode diatas, saya membuat error documents untuk 3 kesalahan HTTP yang paling umum: 404 not found, 403 forbidden, dan 500 server error. Kemudian Anda dapat memberikan URL lengkap atau lokasi relatif ke error document Anda. Anda juga bisa mengarahkan mereka ke skrip PHP yang menyimpan log kesalahan dalam database atau mengirim email kepada Anda (meskipun ini mungkin bisa mengganggu). Ini adalah cara yang hebat untuk mengambil kendali dari kesalahan dalam aplikasi web Anda, pastikan untuk memeriksa pameran halaman kesalahan 404 Smashing Magazine untuk inspirasi.

4. Pengarahan Ketika Melakukan Upgrade

Jika Anda melakukan upgrade besar untuk situs yang kemungkinan besar Anda harus mengarahkan pengguna ke halaman yang menginformasikan mereka. Hal ini mencegah pengguna melihat halaman yang rusak atau potensi lubang keamanan sementara aplikasi sedang di-upload. Satu peringatan untuk dipertimbangkan adalah bahwa kita ingin mengijinkan alamat IP tertentu ke dalam situs untuk pengujian sebelum tampil ini dapat dicapai dalam file htaccess.

Kami menggunakan rewrite engine lagi untuk melakukan hal ini, tapi dalam cara yang sebaliknya. Pertama kita perlu untuk menetapkan suatu kondisi yang mengecualikan dokumen menggambarkan upgrade jika tidak server akan memulai perulangan tak berakhir. Selanjutnya kita mengecualikan alamat IP tunggal agar tidak diarahkan untuk tujuan pengujian. Akhirnya kita menggunakan rewrite rule untuk mengirim pengguna ke halaman upgrade. Flag yang telah kita lihat sebelumnya, kecuali kali ini kita menetapkan pengarahan ke kode satus 302, memberitahu browser bahwa halaman telah dipindahkan dan untuk menangani caching yang sesuai. Smashing Magazine, sekali lagi, memiliki sebuah pameran besar dari Halaman Maintenance Efektif.

5. Menyembunyikan Daftar Direktori

Untuk berbagai alasan keamanan, ini adalah ide bagus untuk membatasi daftar direktori, perilaku default di Apache. Ini dapat dilakukan dengan baris sederhana dalam file htaccess kita dapat mencegah pengunjung melihat daftar direktori kita.

Sekarang pengguna yang meminta sebuah direktori yang tidak memiliki file indeks akan ditunjukkan halaman 403 forbidden error kepada mereka.

Kesimpulan

Berikut tadi adalah beberapa penggunaan htaccess favorit saya. Tinggalkan milik Anda di komentar! Saya siap untuk membantu di komentar atau di twitter. Jika ada banyak yang menarik, saya akan membuat tutorial htaccess lainnya dengan solusi dari permintaan Anda di komentar. Terima kasih untuk membaca!


Advertisement
Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.