De reden dat u zou moeten overwegen om dit bestand buiten de webroot te plaatsen, is dat sommige hostingproviders tijdelijk gestopt zijn met het interpreteren van PHP (vanwege configuratiefouten, vaak na een update van hun kant). De code wordt dan in leesbare tekst verzonden en het wachtwoord zal in het wild verschijnen.
Overweeg deze directorystructuur, waarbij public_html
is de webroot:
/include1.php
/public_html/index.php
/public_html/includes/include0.php
Overweeg nu deze index.php :
<?php
include('includes/include0.php');
do_db_work_and_serve_page_to_visitor();
?>
Als de webserver dit bestand in de open lucht aanbiedt, duurt het niet lang voordat iemand include0.php probeert te downloaden . Niemand kan include1.php . downloaden , echter, omdat het buiten de webroot ligt en daarom nooit wordt afgehandeld door de webserver.