Come altri hanno detto, un web server mal configurato che tratta i file .php come testo normale sarà lieto di servire il vostro codice sorgente.
Oggigiorno la maggior parte dei framework (sia pubblici che interni), tuttavia, conserva pochissimo codice php in un'area accessibile dal Web. In genere, esiste un singolo file index.php nella root del documento, che include e chiama il codice in altri file che si trovano al di fuori della radice del documento.
Di solito, avrete qualcosa di simile:
/path/to/proj/ <-- your project root
/path/to/proj/application <-- holds most of your appication code
/path/to/proj/lib <-- third-party libraries go here
/path/to/proj/public <-- your web server uses this as the document root.
/path/to/proj/public/index.php <-- single point of entry into your applicaiton. all requests are routed through here.
/path/to/proj/public/images <-- static resources, like images, also live under the docroot.
regole di riscrittura sono tipicamente utilizzati per marshall eventuali richieste attraverso un file index.php pubblico.
Con una configurazione come questa, se il tuo server web dovesse essere configurato in modo errato in un modo che provocherebbe la trasmissione del tuo codice, verrai coperto. L'unica perdita sarebbe il tuo file index.php, che è probabilmente un paio di istruzioni include/require e una singola funzione/chiamata al metodo. Niente di sensibile.
Guardare lo standard Zend Framework o Symfony (o qualsiasi framework, in realtà), il layout del file, per un'immagine più chiara.
Se il server web è configurato correttamente no, non c'è una sola possibilità che ciò accada. – Prix
Vedere anche http://stackoverflow.com/questions/3939020/how-to-protect-php-file-with-htaccess-from-downloading-with-php5-crashed/3939074#3939074 – deceze
Hai provato a lavorare con Apache? se/else 'IfModule' ancora? IE ' ... renderizza la pagina ' else restituisce invece il documento di errore? –