2009-10-13 14 views

risposta

21

No, a meno che non

  • C'è un server configurazione errata
  • C'è un cattivo eco/include da qualche parte
+3

Puoi fornire un esempio di inclusione o eco non valida? – Mj1992

11

No. A meno che non lo stiate facendo eco a loro dove lo state effettivamente utilizzando.

2

se avete il vostro server web impostato per servire invece di analizzare il tuo php sì. Ma poi i clienti non avrebbero funzionato. Quindi, a prescindere da eventuali buchi di sicurezza, la risposta è no.

3

No, ma è necessario prendere tutte le misure per impedirlo.

Si dovrebbe sempre impostare il proprio codice sensibile (diamine, perché no?) In una directory sotto la directory di lavoro del server (ad esempio/www), in questo modo se il server viene incasinato, non sarà in grado di mostrare il codice al mondo perché quel codice sarà incluso da php che non funziona in primo luogo.

6

L'utilizzo include dal di sotto o al di fuori della directory www servita. (impossibile ancora +1 per Frankie)

Non utilizzare i collegamenti simbolici per le directory http. L'ho usato intenzionalmente per mostrare sia l'origine che l'esecuzione in base al percorso di richiesta dell'utente precedente, ma ciò ha richiesto modifiche httpd.conf (o errata configurazione) e può essere disabilitato esplicitamente in httpd.conf.

Se si consente il download di file usando fopen, non passare nulla che l'utente abbia creato o potrebbero capire come ottenerlo per prendere qualsiasi file che riescono a trovare. Considerare:

fopen('reports/' . $_GET['blah']); 

in cui l'utente passa in '../index.php'

1

No. Supponendo di aver installato un L/server UAMP correttamente o non si stampano fuori (eco, print_r, ecc.) e delle viscere del tuo codice, il PHP verrà elaborato e la logica o HTML che si intende esportare verrà utilizzata nella pagina, non visibile.

N.B. Se non c'è un 'indice' in una directory o un file .htacess corretto, un server Apache mostrerà un elenco di file nella directory, che possono essere scaricati e revisionati.

+0

Sì, ma anche se li scarichi, l'unica cosa che vedrai è l'HTML che viene generato. Non vedrai il codice PHP. – galdikas

0

Un errore che accada è quello di incollare un tag php all'interno di una stringa php, ad esempio:

$string = "This is the answer: <s><?php echo $answer; ?></s>"; 
echo $string; 

La persona ha fatto un Ctrl + C e Ctrl + V di qualcosa che dovrebbe essere stampato lungo la corda , ma il programmatore ha dimenticato di rimuovere i tag php per distrazione.

Problemi correlati