Risques de sécurité d'avoir une page publique phpinfo ()?

10

J'ai une page accessible au public qui a juste

<?php phpinfo(); >

Je l'utilise à des fins de débogage pendant que nous sommes en version bêta, mais y a-t-il un inconvénient à le laisser accessible lorsqu'il s'agit d'un site en direct?

siliconpi
la source

Réponses:

11

Cela dépendra entièrement de votre confiance dans votre installation PHP. Si vous pensez qu'il est solide, même si un attaquant sait tout sur votre installation PHP, vous pouvez le laisser en place.

Mais vraiment, pourquoi voudriez-vous laisser cela en place sur un système de production de toute façon? Il peut y avoir des exploits que vous ne connaissez pas dans votre version de PHP - les gens peuvent maintenant ou à l'avenir rechercher votre version de PHP, ou des options particulières que vous avez activées, car ils savent comment effectuer ces exploits. Donc, en maintenant cela publiquement, vous vous êtes ajouté à leur liste de résultats.

Si vous voulez le garder, vous pouvez le mettre dans un répertoire protégé par mot de passe, ou tout simplement l'activer lorsque vous en avez besoin. Étant donné le faible coût de ces options, je ne prendrais pas le risque de les rendre publiques.

dunxd
la source
2
Envelopper l'appel de fonction dans un conditionnel fait généralement l'affaire - c'est-à-dire <?php if ( $_SERVER['REMOTE_ADDR'] == '1.2.3.4' ) phpinfo(); ?>(où 1.2.3.4est votre adresse IP)
danlefree
Merci @dunxd - et merci @danlefree pour l'astuce ... il y a tellement de sites qui exposent encore leur phpinfos!
siliconpi
1
Il existe de nombreux sites qui exposent également phpmyadmin - ne suivez pas les exemples de faible sécurité des autres. Ils peuvent ne pas valoriser leurs données ou l'intégrité de leur serveur autant que vous appréciez les vôtres.
dunxd
Bien que la solution de @ dunxd soit complète et parfaite, j'aime vraiment la solution de @ danlefree au problème. Je ne sais pas pourquoi je n'y avais jamais pensé auparavant et j'utiliserai ce modèle à l'avenir. Pour rester sur le sujet, je voulais également ajouter que je suis moi aussi d'avis que l'exposition publique de PHP dans une phpinfo()fonction n'est pas une bonne idée.
justinhartman