(Eftersom ingen skicka vidare min fråga hit och andra sa att denna fråga passade bättre här så får jag posta den här helt enkelt...)
Hallå!
Har en webbserver (Apache) med php installerat...
jag har även flera användare på min webbserver som har sina mappar under /usr/local/www/data/user/användare
hur gör jag för att inte användarna via php skall kunna ladda in andra filer från andras mappar...
alltså så att /usr/local/www/data/user/erik inte kan kolla på /usr/local/www/data/user/johan :s filer...
alltså tex. använda:
Har du provat några webbhotell som kör Apache? Min erfarenhet (endast från ett hotell) är att de generellt inte skyddar sig mot detta. Vill man göra det måste man köra tex. suExec. suExec kommer att ligga som ett extra lager kring varje script som körs, vilket gör allt något långsammare. Kör man inte suExec så innebär det att de olika användarna, om de vet filnamnen på andra användares filer vilket inte är så svårt att gissa, enkelt hittar tex mySql-lösenord hos varandra.
Apache är inte någon bra server att använda för webbhotell med flera användare på samma server tack vare dess dåliga stöd för användare/rättigheter.
Exempel på hotell som kör suExec på vissa konton är www.levonline.com. Du kan läsa om detta problem på deras (superbra) supportsidor.
Falskt alarm... Såvida foruminläggen sparas i MySQL, skrivs endast <? show_source("fil.php"); ?> ut i källkoden... Den exikveras (vad det nu heter :D ) inte...
suExec kommer att ligga som ett extra lager kring varje script som körs, vilket gör allt något långsammare.
suExec går dessutom inte att använda med mod_php vilket gör att man måste köra PHP som CGI. Något som lär dra hastigheten än mer.
Läste någonstans att Apache 2 skall klara olika UID för olika virtuella servrar. Kan ju lösa ditt problem i.s.f. (har inte jobbat med Apache 2 själv än, så jag vet inte).
Enligt nedanstående länk skall PHP-alternativet user_dir kunna lösa problemet också. Jag har dock inte tittat på det, så jag vet inte hur user_dir skall användas.