Mengamankan laman web anda menggunakan .Htaccess amalan terbaik
- 2085
- 1
- Dana Hammes
.HTACCESS adalah fail konfigurasi yang kuat yang digunakan oleh pelayan web seperti Apache untuk mengawal dan menyesuaikan tingkah laku mereka. Walaupun ia boleh digunakan untuk pelbagai tujuan, salah satu yang paling penting ialah mendapatkan laman web anda.
Dalam artikel ini, kita akan membincangkan amalan terbaik untuk menggunakan .HTACCESS untuk menjamin laman web anda, termasuk petua untuk melindungi fail dan direktori sensitif, menghalang akses yang tidak dibenarkan, dan melindungi terhadap ancaman keselamatan bersama.
Gunakan kata laluan dan pengesahan yang kuat
Salah satu cara paling mudah tetapi paling berkesan untuk menjamin laman web anda adalah dengan menggunakan kata laluan dan pengesahan yang kuat. Dengan menghendaki pengguna memasukkan nama pengguna dan kata laluan sebelum mengakses laman web atau direktori tertentu, anda boleh menghalang akses yang tidak dibenarkan dan melindungi maklumat sensitif.
Untuk menyediakan perlindungan kata laluan di .Htaccess, anda perlu menggunakan arahan "AuthType" dan "AuthuserFile". Inilah contoh:
AuthType asas authname "kawasan terhad" authuserfile/laluan/ke/kata laluan/.HtPasswd memerlukan pengguna yang sah1234 | AuthType BasicAuthName "Kawasan Terhad" Authuserfile/Path/To/Kata Laluan/.HtPasswdrequire Valid-User |
Dalam contoh ini, "AuthType" Menentukan jenis pengesahan yang digunakan (dalam kes ini, pengesahan asas), sementara "Authuserfile" menunjuk ke lokasi fail yang mengandungi nama pengguna dan kata laluan yang diberi kuasa. The "Memerlukan pengguna yang sah" Arahan Menentukan bahawa hanya nama pengguna dan kata laluan yang sah dibenarkan untuk mengakses kawasan terhad.
Lindungi fail dan direktori sensitif
Penggunaan penting lain .HTAccess adalah untuk melindungi fail dan direktori sensitif dari akses yang tidak dibenarkan. Ini amat penting untuk fail yang mengandungi maklumat sensitif, seperti fail konfigurasi, pangkalan data, dan sandaran.
Untuk melindungi fail atau direktori di .Htaccess, anda boleh menggunakan arahan "menafikan dari semua". Inilah contoh:
Menafikan pesanan, biarkan menafikan dari semua1234 |
Dalam contoh ini, "FilesMatch" Menentukan fail atau fail yang akan dilindungi (dalam kes ini, "Konfigurasi.php "), sementara "Menolak dari semua" Menentukan bahawa semua permintaan kepada fail tersebut harus ditolak.
Blok akses ke alamat IP yang mencurigakan
Penggodam dan bot jahat sering menggunakan alat automatik untuk mengimbas laman web untuk kelemahan. Untuk mengelakkan serangan ini, anda boleh menggunakan .htaccess untuk menyekat akses ke alamat IP yang mencurigakan.
Untuk menyekat alamat IP di .htaccess, anda boleh menggunakan "Menolak dari" arahan. Inilah contoh:
Menafikan dari 192.168.1.11 | Menafikan dari 192.168.1.1 |
Dalam contoh ini, "Menolak dari" Menentukan alamat IP yang akan disekat (dalam kes ini, 192.168.1.1).
Dayakan HTTPS dan SSL
HTTPS (protokol pemindahan hiperteks selamat) adalah protokol untuk komunikasi yang selamat melalui Internet. Dengan membolehkan HTTPS di laman web anda, anda boleh melindungi maklumat sensitif seperti kata laluan dan nombor kad kredit daripada dipintas oleh penggodam.
Untuk membolehkan https masuk .Htaccess, anda boleh menggunakan arahan "Rewritecond" dan "Rewriterule". Inilah contoh:
RewriteEngine on RewriteCond %https Off Rewriterule ^(.*) $ https: //%http_host%request_uri [l, r = 301]123 | Menulis semula onrewritecond %https offrewriterule ^(.*) $ https: //%http_host%request_uri [l, r = 301] |
Dalam contoh ini, "Tulis semula" memeriksa sama ada https sudah diaktifkan, sementara "Penulisan semula" Mengalihkan semua lalu lintas bukan HTTPS ke HTTPS.
Hadkan muat naik fail
Muat naik fail adalah sumber kelemahan keselamatan yang biasa, kerana ia boleh digunakan untuk memuat naik fail berniat jahat ke pelayan anda. Untuk mengelakkan ini, anda boleh menggunakan .htaccess untuk menghadkan saiz dan jenis fail yang boleh dimuat naik.
Untuk mengehadkan muat naik fail di .Htaccess, anda boleh menggunakan arahan "php_value". Inilah contoh:
php_value upload_max_filesize1 | php_value upload_max_filesize |
Dalam contoh ini, "Php_value" Menetapkan saiz fail maksimum untuk memuat naik hingga 10MB. Anda juga boleh menggunakan "Php_flag" Arahan untuk melumpuhkan jenis fail tertentu daripada dimuat naik sama sekali, seperti ini:
PHP_FLAG ENGINE OFF1 | PHP_FLAG ENGINE OFF |
Dalam contoh ini, "PHP_FLAG ENGINE OFF" Melumpuhkan memuat naik skrip PHP.
Lumpuhkan penyenaraian direktori
Secara lalai, pelayan web memaparkan senarai fail dalam direktori apabila tiada fail lalai (seperti indeks.html) dijumpai. Ini boleh menjadi risiko keselamatan, kerana ia dapat mendedahkan kandungan direktori sensitif.
Untuk melumpuhkan penyenaraian direktori di .Htaccess, anda boleh menggunakan arahan "Pilihan". Inilah contoh:
Pilihan -indeks1 | Pilihan -indeks |
Dalam contoh ini, "Pilihan -Indexes" melumpuhkan penyenaraian direktori untuk direktori semasa dan semua subdirektorinya.
Mencegah hotlinking
Hotlinking adalah amalan menghubungkan ke imej, video, atau fail lain yang dihoskan di pelayan anda dari laman web lain. Ini bukan sahaja menggunakan jalur lebar anda, tetapi juga boleh menyebabkan pelanggaran hak cipta jika kandungan hotlinked hak cipta.
Untuk mengelakkan hotlinking di .Htaccess, anda boleh menggunakan arahan "Rewritecond" dan "Rewriterule". Inilah contoh:
RewriteEngine on RewriteCond %http_referer !^$ Menulis semula %http_referer !^http (s)?: // (www \.)?Yourdomain.com [NC] Rewriterule \.(jpg | jpeg | png | gif) $ - [nc, f, l]1234 | Menulis semula onrewritecond %http_referer !^$ Menulis semula %http_referer !^http (s)?: // (www \.)?Yourdomain.com [NC] Rewriterule \.(jpg | jpeg | png | gif) $ - [nc, f, l] |
Dalam contoh ini, "menulis semula" memeriksa sama ada laman web merujuk adalah domain anda sendiri, sementara "penulisan semula" mengembalikan kesilapan 403 yang dilarang untuk sebarang permintaan untuk fail imej dari domain lain.
Melindungi daripada skrip silang tapak (XSS)
Skrip lintas tapak (XSS) adalah jenis kelemahan keselamatan yang membolehkan penyerang menyuntik kod jahat ke laman web anda, selalunya melalui bentuk atau medan input lain.
Untuk melindungi daripada XSS di .Htaccess, anda boleh menggunakan arahan "Header" untuk menetapkan tajuk "X-XSS-perlindungan". Inilah contoh:
Header Set X-XSS-perlindungan "1; mod = blok"1 | Header Set X-XSS-perlindungan "1; mod = blok" |
Dalam contoh ini, "Kepala" menetapkan "Perlindungan X-XSS" header ke "1; mod = blok ”, yang memberitahu penyemak imbas untuk menyekat mana -mana halaman yang mengandungi serangan XSS yang disyaki.
Tetapkan Dasar Keselamatan Kandungan yang ketat (CSP)
Dasar Keselamatan Kandungan (CSP) adalah ciri keselamatan yang membantu mencegah skrip silang tapak (XSS), klikjacking, dan lain-lain jenis serangan dengan menentukan sumber kandungan mana yang dibenarkan dimuatkan oleh laman web.
Untuk menetapkan CSP yang ketat .Htaccess, anda boleh menggunakan arahan "header" untuk menetapkan tajuk "kandungan-keselamatan". Inilah contoh:
Header menetapkan kandungan-keselamatan-policy "lalai-src 'self'; skrip-src 'diri" tidak selamat'; gaya-src 'diri "tidak selamat'"1 | Header menetapkan kandungan-keselamatan-policy "lalai-src 'self'; skrip-src 'diri" tidak selamat'; gaya-src 'diri "tidak selamat'" |
Dalam contoh ini, "Kepala" menetapkan "Kandungan-keselamatan-dasar" header ke dasar yang ketat yang hanya membolehkan kandungan dari domain dan skrip dan gaya sebaris semasa.
Kerap mengemas kini dan memantau anda .fail htaccess
Akhirnya, penting untuk mengemas kini dan memantau anda secara kerap .fail htaccess untuk memastikan ia tetap selamat dan berkesan. Ini termasuk memeriksa arahan yang sudah lapuk atau terdedah, mengeluarkan peraturan yang tidak digunakan atau tidak perlu, dan kerap mengkaji semula log pelayan anda untuk tanda -tanda aktiviti yang mencurigakan.
Dengan mengikuti amalan terbaik ini, anda boleh menggunakan .htaccess untuk meningkatkan keselamatan laman web anda dengan ketara dan melindungi daripada ancaman keselamatan bersama. Walau bagaimanapun, penting untuk diingat bahawa .htaccess hanyalah salah satu daripada banyak
- « Cara Mengendalikan Kesalahan Rentetan Pertanyaan di JavaScript
- Cara Mengaktifkan Mod Debug di Laravel untuk persekitaran tertentu »