Risiko keamanan memiliki laman phpinfo () publik?

10

Saya memiliki halaman yang dapat diakses publik yang baru saja

<?php phpinfo(); >

Saya menggunakannya untuk keperluan debugging saat kami masih dalam versi beta, tetapi apakah ada salahnya membiarkannya diakses ketika itu adalah situs langsung?

silikonpi
sumber

Jawaban:

11

Ini sepenuhnya tergantung pada seberapa yakin Anda tentang pemasangan PHP Anda. Jika Anda pikir itu solid, bahkan jika penyerang tahu segalanya tentang pemasangan PHP Anda, maka Anda bisa membiarkannya.

Tapi sungguh, mengapa Anda membiarkan ini tetap pada sistem produksi? Mungkin ada eksploit yang tidak Anda sadari dalam versi PHP Anda - orang-orang sekarang atau di masa depan akan memindai versi PHP Anda, atau opsi tertentu yang telah Anda aktifkan, karena mereka tahu bagaimana melakukan eksploit ini. Jadi, dengan membiarkan ini dipublikasikan, Anda menambahkan diri Anda ke daftar hit mereka.

Jika Anda ingin mempertahankannya, Anda bisa memasukkannya ke direktori yang dilindungi kata sandi, atau cukup aktifkan saat Anda membutuhkannya. Mengingat kecilnya biaya opsi-opsi ini, saya tidak akan mengambil risiko merahasiakannya kepada publik.

dunxd
sumber
2
Membungkus panggilan fungsi dalam kondisi biasanya memberikan trik - yaitu <?php if ( $_SERVER['REMOTE_ADDR'] == '1.2.3.4' ) phpinfo(); ?>(di mana 1.2.3.4alamat IP Anda)
danlefree
Terima kasih @dunxd - dan terima kasih @danlefree untuk tipnya ... ada begitu banyak situs yang masih mengekspos phpinfos mereka!
siliconpi
1
Ada banyak situs yang mengekspos phpmyadmin juga - jangan ikuti contoh keamanan orang lain yang rendah. Mereka mungkin tidak menghargai data atau integritas server mereka sebanyak Anda menghargai data Anda.
dunxd
Sementara solusi @ dunxd menyeluruh dan sempurna saya sangat suka solusi @ danlefree untuk masalah ini. Saya tidak yakin mengapa saya tidak pernah memikirkan hal ini sebelumnya dan saya akan menggunakan model ini untuk maju. Untuk tetap pada topik, saya juga ingin menambahkan saya juga berpendapat bahwa mengekspos PHP secara publik dalam suatu phpinfo()fungsi bukanlah ide yang bijaksana.
justinhartman