Hur förhindrar jag så att script som körs på en Web Site inte kan bläddra runt på hela hårddisken?
Jag vill begränsa den till endast sin egen Home Directory.
Som det är nu så kan man exempelvis köra scandir('..') med PHP och se hela innehållet på hårddisken.
Tacksam för svar!
Se till att den användare som site'n körs under (fliken Directory Security) inte har rättigheter någon annanstans än där scriptet skall kunna nå saker. Detta innebär i praktiken (om du har fler sajter) att du får skapa en ny användare i windows (för bara den sajten) som du använder och kör sajten under.
Okej, tack för ditt svar.
Jag skapade användaren "Labb", samt gruppen "Web Sites" som användaren blev medlem i.
Användaren Labb har bara behörighet till hemkatalogen.
Sen angav jag denna användare under Directory Security för siten.
Tyvärr hjälpte det inte...
Men under Directory Security för Web Sites (alltså längst upp i trädet i IIS) så är där angivet en annan användare.
Denna användare är medlem i gruppen Users som ju har behörighet att lista innehållet på hela hårddisken.
Detta betyder väl att denna behöriget ärvs till alla siter?
Ska jag ta bort denna användare från Web Sites?
Stämmer. Nu skapade jag en ny Application Pool, angav användaren under Identity. Angav den nya poolen för siten.
Får nu "Service Unavailable" när jag efterfrågar min PHP-fil :P
Samt att min nya pool blir "Stopped - Unspecified Error".
Något stämmer inte med din application pool, om du får det. Och om du trycker F5 i vyn för IIS kommer du se att din nya application pool har inaktiverats och måste startas igen. Kolla i Eventlog'en för detaljer vad som kan vara fel.
Jag gissar på något med impersonifieringen av användaren eller nåt meck med PHP.
Event Type: Error
Event Source: W3SVC
Event Category: None
Event ID: 1059
Date: 2007-08-08
Time: 23:48:01
User: N/A
Computer: LABBSERVER
Description:
A failure was encountered while launching the process serving application pool 'Labb'. The application pool has been disabled.
Men alltså detta kan väl inte vara så svårt att fixa egentligen?
Jag menar alla seriösa webbhotell som kör IIS har blockerat så att kunderna inte kan se och modifiera varandras filer.
Det måste ju finnas någon guide som förklarar i detalj hur man fixar detta?
Jag har ett script för hosting som jag kan dela med mig av senare. Ska bara hitta det först. Det är ett script som är till för att användas i en hosting miljö, sätter behörigheter, lägger upp i IIS på "rätt" sätt. Du kan prova det senare och titta på behörigheterna som sätts och hur det fungerar.
Ska försöka hinna med att hitta det under em idag.
Här kommer en fil med lite saker i nyttigt om man sätter upp en ny server för hosting. Har hittat den på nätet någonstans, men kommer inte ihåg var.
Läs i readme filerna innan du provar köra den.
Har provat själv att modifiera scripten i denna och det fungerar riktigt bra efter modifieringarna.
När du satt upp allt så skapar du en ny site med provisioning.hta som sätter behörigheter, lägger upp site användare osv...
Sedan kan du följa upplägget och se om den stryper tillräckligt för din server.