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

Perlindungan keselamatan PHP: mengukuhkan kawalan kebenaran direktori

WBOY
WBOYasal
2023-06-24 11:53:58757semak imbas

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/

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>

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>

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 b5b7f795fbd764be2f6705fd2f78034b 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!

Kenyataan:
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