Domanda

E. g. È più sicuro da usare mod_php invece di php-cgi?O è più sicuro da usare mod_perl invece del tradizionale cgi-scripts?

Io sono principalmente interessati a problemi di sicurezza, ma la velocità potrebbe essere un problema se ci sono differenze significative.

È stato utile?

Soluzione

Sicurezza in che senso?In ogni modo tutto dipende da ciò che lo script è in esecuzione come è stato scritto.Troppi script in questi giorni sono stupida e non correttamente effettuare la convalida dell'input.

Io personalmente preferisco FastCGI per mod_php dal momento che, se un processo di FastCGI muore uno nuovo, ottenere generato, mentre ho visto mod_php uccidere la totalità di Apache.

Per quanto riguarda la sicurezza, con FastCGI tecnicamente si potrebbe eseguire il processo php, sotto un utente diverso da quello predefinito web server dell'utente.

Su una separata nota, se si utilizza Apache nuovo lavoratore threading si desidera assicurarsi che non si utilizza mod_php come alcune delle estensioni che non sono thread-safe e causerà condizioni di gara.

Altri suggerimenti

Se avete un vostro server andare il modulo modo, è un po ' più veloce.Se sei su un server condiviso la decisione è già stata presa per voi, di solito il CGI lato.La ragione di questo sono permessi del file system.PHP come modulo viene eseguito con le autorizzazioni del server http (di solito 'apache') e se non si può chmod script per l'utente devi chmod li 777 - leggibile del mondo.Questo significa, purtroppo, che il tuo server prossimo può dare un'occhiata a loro, pensare a dove si memorizza il database di password di accesso.La maggior parte dei server condivisi hanno risolto questo problema utilizzando cose come phpsuexec e tale, che l'esecuzione di script con i permessi dello script proprietario, in modo che si può (deve) avere il tuo codice chmod 644.Phpsuexec funziona solo con PHP come CGI - che è più o meno tutto, è solo una macchina in locale cosa - non fa alcuna differenza per il mondo.

Più buchi di sicurezza si verificano a causa della pessima programmazione nello script stesso, quindi è molto opinabile, se è stato eseguito come cgi o in moduli.Detto questo, i moduli di apache potenzialmente in grado di mandare in crash l'intero webserver (soprattutto se con una vite di MPM) e mod_php è piuttosto famosa per esso.

cgi sarà più lento, ma al giorno d'oggi ci sono soluzioni che, soprattutto FastCGI e amici.

Qual è il vostro modello di minaccia?

Dal PHP install.txt doc per PHP 5.2.6:

Moduli Server di migliorare sensibilmente le prestazioni aggiuntive e la funzionalità rispetto al binario CGI.

Per IIS o PWS:

Avviso

Utilizzando il CGI di installazione, il server è aperto a diversi possibili gli attacchi.Si prega di leggere i nostri CGI di sicurezza sezione per imparare a difendersi se stessi da questi attacchi.

Un modulo come mod_php o FastCGI è incredibilmente più veloce rispetto alla semplice CGI..basta non fare CGI.Come altri hanno detto, il programma PHP è di per sé la più grande minaccia per la sicurezza, ma ignorando che c'è un'altra considerazione, condivisa padroni di casa.

Se il tuo script è su un host condiviso con altri programmi php e l'host non è in esecuzione in modalità provvisoria, quindi è probabile che tutti i processi del server sono in esecuzione come utente stesso.Questo potrebbe significare che in qualsiasi altro script php in grado di leggere il tuo, tra cui le password del database.In modo da essere sicuri di indagare la configurazione del server per essere sicuri che il codice non è leggibile per gli altri.

Anche se controlli il tuo hosting, tenere a mente che un altro hacked applicazione web sul server potrebbe essere un canale in altri.

Utilizzando un builtin modulo è sicuramente andare a essere più veloce rispetto all'utilizzo di CGI.Le implicazioni di sicurezza dipendono dalla configurazione.Nella configurazione predefinita, sono praticamente la stessa, ma la cgi permette alcune configurazioni più sicure, che builtin moduli non può fornire, specialmente nel contesto di hosting condiviso.Che cosa esattamente si desidera proteggere se stessi contro?

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top