Zagrożenia bezpieczeństwa związane z posiadaniem publicznej strony phpinfo ()?

10

Mam publicznie dostępną stronę, która właśnie ma

<?php phpinfo(); >

Używam go do celów debugowania, gdy jesteśmy w fazie beta, ale czy jest jakiś problem z pozostawieniem go dostępnym, gdy jest na żywo?

siliconpi
źródło

Odpowiedzi:

11

Zależy to całkowicie od tego, czy jesteś pewny swojej instalacji PHP. Jeśli uważasz, że jest solidny, nawet jeśli atakujący wie wszystko o twojej instalacji PHP, możesz zostawić to na swoim miejscu.

Ale tak naprawdę, dlaczego miałbyś pozostawić to w systemie produkcyjnym? Mogą istnieć exploity, których nie znasz w twojej wersji PHP - ludzie mogą teraz lub w przyszłości skanować twoją wersję PHP lub określone opcje, które włączyłeś, ponieważ wiedzą, jak przeprowadzić te exploity. Tak więc, utrzymując to publicznie, dodałeś się do ich listy hitów.

Jeśli chcesz go utrzymać, możesz umieścić go w katalogu chronionym hasłem lub po prostu włączyć, gdy jest to potrzebne. Biorąc pod uwagę niewielki koszt tych opcji, nie podejmowałbym ryzyka, że ​​będzie to publiczne.

dunxd
źródło
2
Zawijanie wywołania funkcji w warunkowe zwykle rozwiązuje problem - tj. <?php if ( $_SERVER['REMOTE_ADDR'] == '1.2.3.4' ) phpinfo(); ?>(Gdzie 1.2.3.4jest twój adres IP)
danlefree
Dzięki @dunxd - i dzięki @danlefree za wskazówkę ... jest tak wiele witryn, które wciąż ujawniają swoje phpinfos!
siliconpi,
1
Istnieje wiele stron, które ujawniają phpmyadmin - nie podążaj za przykładem niskiego bezpieczeństwa innych ludzi. Mogą nie doceniać swoich danych lub integralności serwera tak bardzo, jak cenisz swój.
dunxd
Podczas gdy rozwiązanie @ dunxd jest dokładne i idealne, naprawdę podoba mi się rozwiązanie problemu @ danlefree. Nie jestem pewien, dlaczego nigdy wcześniej o tym nie myślałem i będę korzystać z tego modelu w przyszłości. Aby pozostać na ten temat, chciałem również dodać, że ja również jestem zdania, że ​​publiczne ujawnianie PHP w phpinfo()funkcji nie jest mądrym pomysłem.
justinhartman