Pendahuluan
.htaccess sendiri kepanjangan dari “Hyper Text Accessâ€. Fungsi file tersebut untuk mengkontrol file agar dapat diakses di direktori. Meskipun bukan seorang yang ahli, dengan memanfaatkan file ini dapat memperketat keamanan situs.
Hal-hal yang WordPress .htaccess File Bisa Lakukan
Berikut ini hal-hal yang WordPress .htaccess File bisa lakukan:
- Menolak Akses ke Bagian Situs
<Files ~ “/wp-config.php”>
Order Allow,Deny
Deny from All
</Files>
Kode tersebut membuat orang lain tidak dapat mengakses page atau file. Banyak situs WordPress memiliki struktur folderyang sama, membuat situs ini menjadi rentan. Agar orang lain tidak sembarang mengakses, menonaktifkan fungsionalitas daftar direktori bawaan. Cara menghentikan pengguna dan robot melihat struktur folder. Dengan menggunakan kode berikut:
Options -Indexes
- Mengalihkan dan Menulis Ulang URL
Redirect /oldfile.html http://www.example.com/newfile.html
Kegunaan kode tersebut untuk mengalihkan pengunjung secara otomatis. Ini berguna ketika halaman yang dikunjungi telah di pindahkan atau dihapus, sehingga akan dialihkan ke halaman yang lain. Untuk oldfileadalah halaman yang lama, untuk newfileadalah halaman akan dituju.
- Memaksa Situs untuk Memuat HTTPS secara Aman
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Kode tersebut untuk memaksa pengujung memuat situs menggunakan HTTPS. Contohnya jika mengakses http://www.example.com akan berubah menjadi https://www.example.com. Kode ini baik digunakan ketika domain memiliki SSL certificate, seperti idcloudhost’s FreeSSL Certificate.
- Mengubah Pengaturan Caching
<ifModule mod_headers.c>
<filesMatch “\\.(jpg|jpeg|png|gif)$”>
Header set Cache-Control “max-age=2592000, public”
</filesMatch>
Kode tersebut untuk mengubah berapa lama file jpg, jpeg, png, dangif disimpan di localdevice. Dengan menyimpan file itu sementara, akan mempercepat proses memuat halaman yang dikunjungi. Bisa diubah tipe filenya dan lama waktunya sesuai keinginan. Jika ingin membuat opsi yang lain, tambahkan lagi fungsionalitas mod_header.
- Mencegah Serangan Script Injection
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%3E) [NC,OR]
RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})
RewriteRule ^(.*)$ index.php [F,L]
Kode tersebut untuk mencegah agar serangan tidak mengubah cara kerja situs atau aplikasi. Dengan menggunakan kode ini, situs dapat mendeteksi dan mengehentikan pelaku lalu mengalihkannya ke index.php. Kode ini tidak melindungi dari semua macam injectionattacks, jadi jangan menggunakan kode ini sebagai perlidungan satu-satunya.
- Menghentikan Serangan Username Enumeration
RewriteCond %{REQUEST_URI} !^/wp-admin [NC]
RewriteCond %{QUERY_STRING} author=\d
RewriteRule .* – [R=403,L]
Kode tersebut menghentikan serangan agar tidak mendapatkan adminusernamedan mengakses situs. Serangan akan dapat dihentikan dan mengeluarkan 403 error page. Kode ini tidak mencegah semua macam serangan, alangkah baiknya menggunakan Multifactor Authentication.
- Mencegah Image Hotlinking
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^https://(www\.)?example.com/.*$ [NC]
RewriteRule \.(png|gif|jpg|jpeg)$ https://www.example.com/wp-content/uploads/hotlink.gif [R,L]
Kode tersebut mencegah agar gambar yang terdapat di server, tidak ditampilkan di situs orang lain. Ganti example.com dengan domain yang dimiliki, untuk baris terakhir akan menampilkan gambar yang diinginkan di situs orang lain. Sebaiknya dipertimbangkan kembali untuk menampilkan gambar di situs orang lain, agar tidak menyebabkan masalah.
- Mengkontrol File Extensions
RewriteEngine On
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /.*index\ HTTP/
RewriteRule ^(.*)index$ http://example.com/$1 [L,R=301]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/$ http://example.com/$1 [L,R=301]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /(.+)\.php\ HTTP/
RewriteRule ^(.+)\.php$ http://example.com/$1 [L,R=301]
RewriteRule ^([a-z]+)$ /$1.php [L]
Kode tersebut akan menghilangkan file extension dari file php ketika memuat halaman atau situs. Sehingga semua file PHP akan memuat tanpa menampilkan extension di URL. Jika dipelajari lebih lanjut, dapat mengkontrol berbagai extensionyang dimuat di situs.
- Memaksa Mengunduh File
AddType application/octet-stream mp3
Kode berikut memaksa pengunjung untuk mengunduh file ketika mengujung situs. Contohnya, jika situs itu menyediakan layanan file suara, file itu akan diputar di browser ketimbang langsung diunduh ke komputer pengunjung. Extension di kode tersebut dapat diubah sesuai keinginan.