Video: How To Install MySQL on Windows 10 2024
Hvis søknaden din kjører på Apache (som mer enn halvparten nettstedene på Internett gjør), kan du vurdere å aktivere SuExec i Apache-konfigurasjonen. SuExec er en mekanisme som følger med Apache som forårsaker at skript kjøres som brukeren som eier skriptet, i stedet for å kjøre dem som webserverbruker.
I et ikke-SuExec-miljø kjøres alle skript som samme bruker-ID som selve webserveren. Dessverre kan et sårbart script gi en ondsinnet bruker bakdør tilgang til hele webserveren, inkludert skript som kjører på andre nettsteder som er vert på samme server.
SuExec forsøker å redusere dette problemet ved å begrense webapplikasjoner til sine egne områder og kjøre dem under eiers bruker-ID, i stedet for under webserverens bruker-ID. For eksempel vil dette skriptet kjøre under bruker-IDen til jsmith:
/ home / ~ jsmith / public_html / scripts / please_hack_me. php
En skadelig bruker kan utnytte dette skriptet, men han eller hun vil bare ha tilgang til filer og programmer som jsmith-brukeren har lov til å bruke. Hver annen bruker på serveren ville være beskyttet mot jsmiths usikre script.
Dessverre kan det være vanskelig å få SuExec til å fungere skikkelig med virtuelle verter, eller flere uavhengige nettsteder som er fysisk plassert på samme webserver. SuExec er designet for å kjøre skript som eksisterer i webserverens dokumentrot.
De fleste virtuelle verter er satt opp på en måte som gir hver enkelt nettside sin egen dokumentrot, og hver sides dokumentrot er ikke plassert under webserverens dokumentrot. For å omgå denne begrensningen, må systemadministratoren legge til hver virtuell verts dokumentrot til webserverens rotasjonsvariabel i Apache-konfigurasjonsfilen.
SuExec krever også at PHP-skript kjøres som Common Gateway Interface (CGI), som er tregere enn å kjøre PHP som en forkompilert modul under Apache. CGI var den første brukbare modellen for webapplikasjoner, og den brukes fortsatt til enkle skript. Men når du forlater rike av PHP-skripting og begynner å skrive fullverdige applikasjoner, trenger du ytelsesforhøyelsen av forhåndskompilert PHP.
For ganske enkle webservere kan SuExec holde et usikkert program fra å trample over alt annet. Men i et mer komplekst miljø med virtuelle servere, forkompilerte moduler, og dusinvis eller hundrevis av brukere, trenger du en sikkerhetsmodell som er litt mer robust.