Vra

Bv. Is dit veiliger om mod_php in plaas van php-cgi gebruik? Of is dit meer veilig om mod_perl gebruik in plaas van die tradisionele cgi-scripts?

Ek is veral geïnteresseerd in veiligheid, maar spoed kan 'n probleem wees as daar beduidende verskille.

Was dit nuttig?

Oplossing

Security in watter opsig? In ieder geval is dit regtig hang af van wat script loop en hoe goed dit is geskryf. Te veel skrifte deesdae is half-assed en nie behoorlik doen insette validering.

Ek persoonlik verkies FastCGI om mod_php want as 'n FastCGI proses sterf 'n nuwe een sal kry tot gevolg gehad het, terwyl ek gesien mod_php die geheel van Apache dood te maak.

As vir sekuriteit, met FastCGI jy tegnies die PHP proses onder 'n ander gebruiker van die standaard web bedieners gebruiker kan hardloop.

Op 'n aparte nota, as jy 'n nuwe werker threading ondersteuning Apache se wat jy wil om seker te maak dat jy dit nie gebruik mod_php as 'n paar van die uitbreidings is nie veilig ryg en sal ras voorwaardes veroorsaak.

Ander wenke

As jy hardloop jou eie bediener gaan die module manier, dit is 'n bietjie vinniger. As jy op 'n gedeelde bediener die besluit is reeds geneem vir julle, gewoonlik op die CGI kant. Die rede hiervoor is lêerstelsel permissies. PHP as 'n module loop met die toestemming van die http bediener (gewoonlik 'apache') en tensy jy jou skrifte kan chmod na die gebruiker wat jy het om hulle te chmod na 777 - wêreld leesbare. Dit beteken, helaas, dat jou bediener buurman 'n blik op hulle kan neem - dink aan waar jy die toegang databasis wagwoord te stoor. Die meeste gedeel bedieners het hierdie gebruik van dinge soos phpsuexec en opgelos soos wat skrifte met die toestemming van die script eienaar hardloop, sodat jy kan (moet) het jou kode chmoded te 644. Phpsuexec loop net met PHP as CGI - dit is min of meer al dit is net 'n plaaslike masjien ding -. maak geen verskil aan die wêreld in die algemeen

Die meeste sekuriteit gate voorkom as gevolg van slegte ontwikkeling in die script self, so dit is regtig soort van Moot as hulle hardloop as cgi of in modules. Dit gesê, apache modules kan potensieel crash die hele webbediener (veral as die gebruik van 'n gestruktureerde MPM) en mod_php is 'n soort van bekende daarvoor.

cgi sal stadiger wees, maar deesdae is daar oplossings vir daardie, hoofsaaklik FastCGI en vriende.

Wat is jou bedreiging model?

Van die PHP INSTALL.txt doc vir PHP 5.2.6:

Server modules bied aansienlik beter prestasie en addisionele    funksies in vergelyking met die CGI binêre.

Vir IIS / PWS:

Waarskuwing

Deur die gebruik van die CGI setup, jou bediener is oop vir 'n paar moontlike    aanvalle. Lees asseblief ons CGI sekuriteit artikel om te leer hoe om te verdedig    jouself uit dié aanvalle.

'n module soos mod_php of FastCGI is ongelooflik vinniger as gewone CGI .. net nie CGI doen. Soos ander het gesê, die PHP program self is die grootste bedreiging vir die security, maar ignoreer dat daar is een ander vergoeding, op gedeelde gashere.

As jou script is op 'n gedeelde gasheer met ander php programme en die gasheer is nie hardloop in die veilige modus, dan is dit waarskynlik dat al bediener prosesse loop as dieselfde gebruiker. Dit kan beteken dat enige ander php script jou eie, insluitend databasis wagwoorde kan lees. So seker wees om te ondersoek die bediener verstellings om seker te wees jou kode is nie leesbaar aan ander.

Selfs as jy jou eie hosting beheer, in gedagte hou dat 'n ander gekap web aansoek op die bediener n kanaal in ander kan wees.

Die gebruik van 'n ingeboude module gaan beslis vinniger as met behulp van CGI wees. Die implikasies sekuriteit hang af van die opset. In die verstek opset is hulle pretty much dieselfde, maar cgi kan 'n paar meer veilig konfigurasies wat modules ingeboude kan nie, spesiaal in die konteks van gedeelde hosting. Wat presies doen wat jy wil om jouself te beveilig teen?

Gelisensieer onder: CC-BY-SA met toeskrywing
Nie verbonde aan StackOverflow
scroll top