Generalmente (ti parlo della mia esperienza data dal PHP però) il linguaggio di scripting server side gira con lo stesso utente con cui gira il webserver Apache.
Pongo che tu utilizzi *nix come server.
Apache+L.S. possono quindi accedere in lettura / scrittura / esecuzione ai soli file e cartelle cui l'utente con cui girano ha rispettivamente permessi r w x.
Questo vale per ciò che Apache+L.S. possono leggere a livello di sistema. Nel caso tu voglia blindare il tutto puoi usare una gabbia chroot.
Ma veniamo al dettaglio, cioè, lasciando da parte l'intero sistema, vediamo come differenziare le cartelle visibili dagli utenti del programma Web internamente alla www:
Dato che tutti gli utenti del programma Web hanno i medesimi permessi:Come faccio ad essere sicuro che l'utente e solo quell'utente acceda alla propria cartella e file ---- tutti posti nella /www ?
1. è necessario impedire l'accesso a cartelle non destinate all'utente DIRETTAMENTE da programma Web, con un sistema di autenticazione/sessione/permessi. Impedendo ovviamente di scaricare liberamente dall'Internet file interni, semplicemente richiamandoli da URL.
Se ciò non è sufficiente (temi crackaggi, perchè altrimenti è assolutamente sicuro e praticabile):
2. è possibile usare il modulo suExec che differenzia gli utenti interni stessi ed i loro permessi (mai usato quindi non chiedere a me).