Rumah > pembangunan bahagian belakang > tutorial php > Perlindungan keselamatan PHP: mengukuhkan kawalan kebenaran direktori

Perlindungan keselamatan PHP: mengukuhkan kawalan kebenaran direktori

WBOY
Lepaskan: 2023-06-24 16:28:01
asal
783 orang telah melayarinya

Dalam pembangunan web, direktori merupakan bahagian penting dalam menyediakan sumber yang diperlukan oleh aplikasi web. Walau bagaimanapun, jika kebenaran akses direktori fail tidak betul, ia boleh menyebabkan masalah keselamatan Web dengan mudah. Sebagai contoh, pihak ketiga yang tidak dibenarkan boleh memuat naik fail berniat jahat ke pelayan anda, menyebabkan pelayan diserang. Oleh itu, semasa proses pembangunan aplikasi web, kawalan kebenaran direktori mesti diperkukuh untuk mengelakkan capaian haram dan muat naik fail berniat jahat.

Untuk mengukuhkan kawalan kebenaran direktori, kami boleh mengambil langkah berikut:

  1. Hadkan kebenaran akses direktori

Dalam sistem Linux, anda boleh menggunakan arahan chmod untuk Kawalan kebenaran direktori. Perintah khusus adalah seperti berikut:

chmod 700 /var/www/html/uploads/
Salin selepas log masuk

Maksud arahan di atas ialah hanya pemilik direktori (biasanya proses pelayan web) mempunyai akses, menulis dan kebenaran pelaksanaan ke direktori, dan orang lain tidak mempunyai akses kebenaran.

  1. Melarang pelaksanaan fail skrip

Sesetengah direktori digunakan untuk menyimpan fail skrip, seperti fail skrip PHP, yang boleh dilaksanakan oleh proses pelayan web. Jika proses pelayan web terjejas, direktori ini boleh digunakan untuk menyimpan dan melaksanakan skrip berniat jahat. Untuk mengelakkan perkara ini berlaku, kami boleh melumpuhkan pelaksanaan fail skrip dalam direktori melalui fail konfigurasi Apache. Kaedah khusus adalah seperti berikut:

Dalam fail konfigurasi Apache, cari kod berikut:

<Directory /var/www/html/>
    Options Indexes FollowSymLinks
    AllowOverride None
    Require all granted
</Directory>
Salin selepas log masuk

Ubah suai kepada:

<Directory /var/www/html/>
    Options Indexes FollowSymLinks
    AllowOverride None
    Require all granted
    AddHandler txt .txt
    AddHandler html .html
    AddHandler htm .htm
    AddHandler php .php .inc
</Directory>

<FilesMatch ".(php|inc)$">
    Order Deny,Allow
    Deny from all
</FilesMatch>
Salin selepas log masuk

Dalam fail konfigurasi di atas, kami menambah beberapa jenis MIME yang membolehkan pelayan Apache menyediakan fail HTML, TXT dan PHP. Kemudian, dengan memadankan nama fail PHP dan INC dalam teg kami melumpuhkan pelaksanaan fail PHP dan INC dalam semua direktori.

  1. Halang kelemahan muat naik fail

Dalam sesetengah aplikasi web, pengguna boleh memuat naik gambar, dokumen dan fail lain. Walau bagaimanapun, fail yang dimuat naik ini mungkin mengandungi kod hasad, dan penyerang boleh mengeksploitasi kelemahan muat naik fail muatan untuk menghantar fail berniat jahat kepada pelayan. Untuk mengelakkan serangan, kami boleh meningkatkan keselamatan muat naik fail dengan:

  • Hadkan jenis fail yang dimuat naik.
    Hanya jenis fail selamat dibenarkan untuk dimuat naik, seperti gambar, dokumen, audio, dll. Jenis fail berbahaya tidak dibenarkan untuk dimuat naik, seperti EXE, BAT, DLL dan fail lain.
  • Tapis fail yang dimuat naik.
    Tapis fail yang dimuat naik untuk memastikan keselamatan fail yang dimuat naik. Anda boleh menggunakan pemalam pihak ketiga atau alatan sumber terbuka untuk menyemak sama ada fail yang dimuat naik mengandungi kod hasad.
  • Simpan fail yang dimuat naik dalam direktori selamat.
    Simpan fail yang dimuat naik dalam direktori selamat supaya pelayan web tidak mempunyai kebenaran untuk melaksanakan fail yang dimuat naik. Pada masa yang sama, ia juga boleh menghalang pelaksanaan fail berniat jahat yang dihantar dengan mengeksploitasi kelemahan muat naik fail.

Secara amnya, apabila membangunkan aplikasi web, mengukuhkan kawalan kebenaran direktori adalah cara penting untuk mempertahankan diri daripada serangan web. Dengan mengawal kebenaran akses direktori fail secara munasabah dan ketat, tingkah laku berniat jahat boleh dikurangkan dengan berkesan. Kawalan kebenaran direktori adalah prasyarat yang diperlukan untuk keselamatan Web, dan kedua-dua pengaturcara dan pengurus harus memberi perhatian kepadanya.

Atas ialah kandungan terperinci Perlindungan keselamatan PHP: mengukuhkan kawalan kebenaran direktori. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan