Esta é a forma de proteger qualquer arquivo que chame a função phpinfo (). Se o desenvolvedor passar um parâmetro get para o script com um valor correto, ele verá as informações do ambiente do servidor, caso contrário, responderá com um erro 404 não encontrado.
<?php
if(isset($_GET['phpinfo']) && $_GET['phpinfo'] == 'true'){
phpinfo();
}else{
header("HTTP/1.0 404 Not Found");
}