Угрозы безопасности, связанные с публичной страницей phpinfo ()?

10

У меня есть общедоступная страница, которая просто

<?php phpinfo(); >

Я использую его для целей отладки, пока мы находимся в бета-версии, но есть ли вред, если оставить его доступным, когда он находится на живом сайте?

siliconpi
источник

Ответы:

11

Это будет полностью зависеть от того, насколько вы уверены в своей установке PHP. Если вы думаете, что это отлично, даже если злоумышленник знает все о вашей установке PHP, вы можете оставить его на месте.

Но на самом деле, зачем вы все равно оставляете это в производственной системе? В вашей версии PHP могут быть эксплойты, о которых вы не знаете - люди могут сейчас или в будущем сканировать вашу версию PHP или определенные опции, которые вы включили, потому что они знают, как выполнить эти эксплойты. Таким образом, поддерживая это публично, вы добавили себя в их список.

Если вы хотите сохранить его, вы можете поместить его в каталог, защищенный паролем, или просто включить его, когда вам это нужно. Учитывая небольшую стоимость этих опций, я бы не рискнул держать их в открытом доступе.

dunxd
источник
2
Завершение вызова функции в условном <?php if ( $_SERVER['REMOTE_ADDR'] == '1.2.3.4' ) phpinfo(); ?>1.2.3.4
выражении
Спасибо @dunxd - и спасибо @danlefree за совет ... Есть так много сайтов, которые до сих пор выставляют свои phpinfos!
Силиконпи
1
Есть много сайтов, которые также представляют phpmyadmin - не используйте примеры низкого уровня безопасности других людей. Они могут не ценить свои данные или целостность своего сервера так, как вы цените свои.
dunxd
Хотя решение @ dunxd является тщательным и совершенным, мне действительно нравится решение @ danlefree проблемы. Я не уверен, почему я никогда не думал об этом раньше, и я буду использовать эту модель в будущем. Чтобы остаться в теме, я также хотел бы добавить, что я тоже придерживаюсь мнения, что публичное представление PHP в phpinfo()функции не является разумной идеей.
Джастинхартман