2011-10-15 2 views
5

In genere lingue come Perl, Pythong, ecc. Sono considerate avere una sicurezza migliore rispetto a PHP. A parte possibili buchi di sicurezza, una ragione può essere (non so, sto chiedendo) che non mettiamo i file eseguibili di Perl e Python all'interno della cartella pubblica. Poiché i file PHP non sono eseguibili, è sicuro conservarli nella cartella pubblica.Maggiore sicurezza di PHP mantenendo i file di inclusione fuori dalla cartella pubblica?

È un approccio saggio e pratico per mantenere i file php all'esterno della cartella pubblica per limitare il possibile accesso da parte degli autori di attacchi? Se sì, è comune? perché non vedo alcun svantaggio (eccetto un po 'più difficile gestione del file diffuso in luoghi diversi); ma se è utile per migliorare la sicurezza, vale la pena di considerarlo. Poiché non conosco i modi in cui gli hacker collegano un sito Web basato su php, non ho idea di come possa migliorare la sicurezza.

+0

Domande correlate: [Aiuto protezione di file di accesso con .htaccess e php?] (http://stackoverflow.com/questions/2573496/help-securing-files-access-with-htaccess-and-php), [Sicurezza file PHP sul server web] (http://stackoverflow.com/questions/6524565/ php-file-security-on-webserver), [Protezione dei file PHP] (http://stackoverflow.com/questions/1401727/securing-php-files) e [i molti relativi] (http://stackoverflow.com/ ricerca? q = [php] + file + Webroot + sicurezza). – hakre

+0

Grazie a hakre, cerco anche l'argomento; ci sono domande correlate, ma non ci si concentra sull'idea. – Googlebot

risposta

9

Si tratta di un approccio saggio e pratico per mantenere i file php al di fuori della cartella pubblica per limitare l'eventuale accesso da aggressori?

Sì.

Se sì, è comune?

Sì.

ma se è utile per migliorare la sicurezza,

tuo PHP applicazione sarà tipicamente composto da molti file singoli. Di solito, questi verranno inclusi da altri file. Ad esempio, si potrebbe avere:

index.php 
lib/db.php 
lib/auth.php 

In questo esempio, dal momento che tutti i file sono nella radice del documento, un utente esterno potrebbe colpire l'url http://domain.com/lib/auth.php ed eseguire che includono i file direttamente, indipendente dal sistema di autenticazione che si suppone essere fonte di approvvigionamento. Farà qualcosa di male quando viene eseguito da solo? Probabilmente no. Ma per essere sicuri, è necessario spostare i file di inclusione fuori dalla root del documento, rendendo così impossibile per il server Web servirli direttamente.

(Si noti che questa vulnerabilità non è esclusiva di PHP, e mantenendo così le vostre librerie di fuori radice del documento è una buona pratica, a prescindere dalla piattaforma.)