.htaccess hanya bisa proteksi akses HTTP (browser), bukan proteksi file system (edit/rename/delete via FTP/SSH/cPanel).

Penjelasan Simpel

.htaccess = mengatur akses WEB (HTTP request)
File system = diatur oleh SERVER/OS permission (chmod)

Solusi yang Benar

1. Via SSH (Paling Ampuh)

# Buat folder read-only (tidak bisa diedit siapapun)
chmod 444 /path/to/folder

# Atau read-only termasuk semua isi dalamnya
chmod -R 444 /path/to/folder

# Hanya owner yang bisa baca, yang lain tidak bisa akses
chmod 400 /path/to/folder

2. Via cPanel File Manager

1. Login cPanel
2. File Manager
3. Klik kanan folder -> Permissions
4. Set permission: 444 atau 555
   - 444 = read only semua
   - 555 = read + execute (untuk folder lebih aman)

Tabel Permission

ChmodOwnerGroupPublicKeterangan
777rwxrwxrwxSemua bisa edit ⚠️
755rwxr-xr-xNormal folder
555r-xr-xr-xRead only folder
444r–r–r–Read only ketat
400r–Hanya owner bisa baca

.htaccess Bisa Apa Saja?

# Larang akses browse isi folder
Options -Indexes

# Larang akses ke folder tertentu via browser
<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteRule ^folder-rahasia/ - [F,L]
</IfModule>

# Larang akses berdasarkan IP
<Directory "/path/to/folder">
    Order Deny,Allow
    Deny from all
    Allow from 192.168.1.1  # hanya IP ini yang boleh
</Directory>

# Larang akses file tertentu
<Files "config.php">
    Order Allow,Deny
    Deny from all
</Files>

Rekomendasi Kombinasi

chmod 555 pada folder  →  tidak bisa diedit via FTP/SSH
+
.htaccess Options -Indexes  →  tidak bisa dibrowse via web

= Folder aman dari dua sisi

Catatan: Jika pakai shared hosting tanpa SSH, gunakan cPanel File Manager untuk set permission. Hasilnya sama dengan chmod via SSH.

Permission Read-Only

# Untuk FOLDER
chmod 555 /path/to/folder

# Untuk FILE di dalamnya
chmod 444 /path/to/files

# Sekaligus folder + semua isi dalamnya
chmod -R 555 /path/to/folder

Kenapa 555 untuk Folder?

5 = r-x = read + execute

Execute pada folder = izin untuk MASUK ke folder
Tanpa execute, folder tidak bisa dibuka meski bisa dibaca
OwnerGroupPublic
555r-xr-xr-x
Bisa baca?
Bisa edit?
Bisa masuk folder?

Jika Ingin Lebih Ketat (Hanya Owner Bisa Baca)

chmod 544 /path/to/folder
OwnerGroupPublic
544r-xr–r–
Bisa baca?
Bisa edit?
Bisa masuk folder?

Via cPanel (Tanpa SSH)

File Manager -> Klik kanan folder -> Permissions
Centang:
Read  (Owner, Group, World)
Write (Owner, Group, World)  <- hapus centang ini
Execute (Owner, Group, World)

Hasil = 555

Jangan lupa centang “Recurse into subdirectories” supaya semua file di dalamnya ikut berubah