Tingkatkan keselamatan PHP: 8 konfigurasi lalai PHP yang mesti modified_javascript kemahiran

WBOY
Lepaskan: 2016-05-16 16:31:16
asal
1780 orang telah melayarinya

Jelas sekali, PHP Mysql Apache ialah teknologi web yang sangat popular. Gabungan ini berkuasa, berskala dan percuma. Walau bagaimanapun, tetapan lalai PHP tidak begitu sesuai untuk tapak web yang sudah dalam talian. Mari kita perkukuhkan dasar keselamatan PHP dengan mengubah suai fail konfigurasi lalai!

0x01: Lumpuhkan fungsi pemprosesan fail url jauh

Fungsi pemprosesan fail seperti fopen menerima parameter rul fail (contohnya: fopen('http://www.yoursite.com','r')). Fungsi ini boleh mengakses sumber jauh dengan mudah. Walau bagaimanapun, ini adalah ancaman keselamatan yang sangat penting. Ia adalah pilihan yang baik untuk melumpuhkan ciri ini untuk mengehadkan fungsi fail. Buat perubahan berikut dalam fail php.ini:

Salin kod Kod adalah seperti berikut:

allow_url_fopen = Mati

0x02: Lumpuhkan pendaftaran pembolehubah global

Dalam versi sebelum 4.2.0, PHP menggunakan pembolehubah global sebagai input Fungsi ini dipanggil register_globals Ia menyebabkan banyak masalah keselamatan dalam aplikasi web kerana ia membolehkan penyerang memanipulasi pembolehubah global dengan mudah dalam beberapa situasi , untungnya ciri ini dilumpuhkan secara lalai dalam 4.2.0 Ia sangat berbahaya dan mesti dilumpuhkan dalam apa jua keadaan. Jika sesetengah skrip memerlukan fungsi ini, maka skrip tersebut mempunyai potensi ancaman keselamatan. Ubah suai pnp.ini untuk melumpuhkan ciri ini:

Salin kod Kod adalah seperti berikut:

register_globals = Mati

0x03: Hadkan operasi baca dan tulis PHP

Dalam banyak proses pembangunan web, skrip php perlu membaca dan menulis ke sistem fail setempat, seperti /var/www/htdocs/files Untuk meningkatkan keselamatan, anda boleh mengubah suai kebenaran baca dan tulis fail tempatan :

Salin kod Kod adalah seperti berikut:

open_basedir = /var/www/htdocs/files

0x04: Had Posing

Menghadkan masa pelaksanaan PHP, penggunaan memori, pos dan muat naik data ialah strategi terbaik Anda boleh mengkonfigurasinya seperti berikut:

Salin kod Kod adalah seperti berikut:

max_execution_time = 30 ; Max skrip masa pelaksanaan
max_input_time = 60 ; Maks masa dihabiskan untuk menghurai input
had_memori = 16M ; Memori maksimum yang digunakan oleh satu skrip
upload_max_filesize = 2M ; Saiz fail muat naik maks
saiz_pos_maks = 8M ; Saiz pos maksimum

0x05: Lumpuhkan mesej ralat dan dayakan pengelogan

Dalam tetapan lalai, PHP akan mengeluarkan mesej ralat kepada penyemak imbas Semasa proses pembangunan aplikasi, tetapan lalai ini adalah konfigurasi yang paling munasabah Walau bagaimanapun, ia juga boleh membocorkan beberapa maklumat keselamatan kepada pengguna, seperti laluan pemasangan dan nama pengguna. Dalam laman web yang telah dibangunkan, adalah lebih baik untuk melumpuhkan mesej ralat dan mengeluarkan mesej ralat ke fail log.

Salin kod Kod adalah seperti berikut:

display_errors = Mati
log_errors = Hidup

0x06: Sembunyikan fail PHP

Jika tiada fail PHP tersembunyi, kita boleh mendapatkan versi PHP pelayan melalui pelbagai kaedah, seperti menggunakan: http://www.example.com/script.php?=PHPB8B5F2A0-3C92-11d3- A3A9- 4C7B08C10000

Jelas sekali, kami tidak mahu pengguna boleh mengakses versi PHP pelayan tapak web anda Nasib baik, terdapat suis dalam php.ini untuk melumpuhkan ciri ini:

Salin kod Kod adalah seperti berikut:

expose_php = Mati

0x07: Konfigurasi mod selamat

Secara lalai, PHP boleh dikonfigurasikan dalam mod selamat Dalam mod ini, Apache melarang akses kepada fail, pembolehubah persekitaran dan program binari, masalah terbesar ialah hanya pemilik fail yang boleh mengaksesnya ialah fail PHP. Jika terdapat ramai pembangun yang bekerjasama untuk membangunkan program ini, tetapan ini tidak praktikal Apabila anda perlu mengakses fail PHP, anda perlu mengubah suai pemilik fail tersebut . PHP, konfigurasi berikut boleh mengubah suai kebenaran fail kepada kumpulan pengguna dan bukannya pengguna tunggal.

Salin kod Kod adalah seperti berikut:

safe_mode = Mati
safe_mode_gid = Hidup

Dengan mendayakan safe_mode_gid, kumpulan yang menggunakan Apache ini akan dapat mengakses fail PHP. Mod selamat juga sangat berkesan untuk menghalang perduaan daripada dilaksanakan, bagaimanapun, pembangun mungkin mahu dapat menjalankan beberapa perduaan dalam keadaan tertentu. Dalam kes khas ini, fail binari boleh diletakkan dalam direktori, seperti (/var/www/binaries), dan tetapan berikut boleh dibuat:

Salin kod Kod adalah seperti berikut:

safe_mode_exec_dir = /var/www/binaries

Akhir sekali, melalui tetapan berikut, anda boleh mengakses pembolehubah persekitaran pelayan, memberikan awalan yang dipisahkan dengan "_", supaya hanya pembolehubah persekitaran dengan awalan yang ditentukan boleh diakses:

Salin kod Kod adalah seperti berikut:

safe_mode_allowed_env_vars = PHP_

0x08: Hadkan akses pengguna awam kepada fail dengan akhiran tertentu

Atas sebab keselamatan, banyak fail dengan nama akhiran tertentu tidak boleh diakses oleh pengguna awam, seperti fail dengan akhiran .inc, yang mengandungi beberapa maklumat sensitif, seperti maklumat sambungan mysql, maka jika tiada konfigurasi yang sesuai setiap Setiap pengguna boleh mengakses fail konfigurasi ini Untuk meningkatkan keselamatan tapak web, anda perlu mengkonfigurasi yang berikut dalam fail ..htaccess:

Salin kod Kod adalah seperti berikut:


Pesanan benarkan, tolak
Nafikan daripada semua

0x09: Ringkasan

Konfigurasi lalai PHP adalah untuk pembangun Jika tapak web adalah untuk sejumlah besar pengguna, adalah disyorkan untuk mengkonfigurasi semula PHP.

Label berkaitan:
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