rejetto forum

Software => Other languages => HFS ~ HTTP File Server => Italiano => Topic started by: nuvolablu on February 15, 2010, 04:37:01 PM

Title: NEW FEATURE
Post by: nuvolablu on February 15, 2010, 04:37:01 PM
Ciao,
   questa volta scrivo in italiano perchè è un concetto abbastanza difficile da esprimere...
dunque, parecchio tempo fa avevo fatto domanda di uno script per fare in modo che tutte le sottocartelle di un ramo siano accessibili con un'unica user e pw assegnata ma che l'utente della sottocartella A non potesse risalire il ramo per vedere tutte le cartelle....


              ì A
CARTELLA ì B
              ì C
              ì D
              ì E


la cosa funziona molto bene in quanto ho creato una cartella guest all'interno della quale tutti quelli dello studio che devono inviare qualcosa ai propri clienti creano semplicemente una sottocartella dentro a guest tipo... Guest/cliente ed inseriscono i files che devono loro inviare.
senza che nessuno debba toccare il server e il programma hfs..

ecco...ora però si presenta un'altro problema: sicurezza

ora ci saranno un centinaio di cartelle all'interno di guest per altrettanti clienti...tutti utilizzano user e pw identiche...cambia solo il percorso dei files...

per aumentare il grado di sicurezza ho pensato che sarebbe carino poter impostare almeno uno dei due parametri (user o password) in modo che possa variare secondo una funzione predefinita e semplice da calcolare a mente in funzione del nome della prima sottocartella....
non so se mi sono spiegato...

es

              ì A   user: A pw:pass
CARTELLA ì B   user: B pw:pass
              ì C   user: C pw:pass
              ì D   user: D pw:pass
              ì E   user: E pw:pass

...o qualcosa del genere

              ì A   user: A pw:pass1 (1 da A...prima lettera dell'alfabeto)
CARTELLA ì B   user: B pw:pass2
              ì C   user: C pw:pass3
              ì D   user: D pw:pass4
              ì E   user: E pw:pass5


...per me è fondamentale che nessuno metta mano al programma hfs, questo mi da garanzia di perfetto funzionamento : (fino ad ora mai piantato).

...spero sia una cosa semplice da implementare.
A presto.
S.


Title: Re: NEW FEATURE
Post by: rejetto on February 16, 2010, 04:12:59 PM
non basterebbe disabilitare la possibilità di vedere i file di una cartella?
se questa funzione non ti serve, disabilitarla potrebbe essere sufficiente per impedire l'accesso a file di cui non conosci l'esistenza.
è sufficiente abilitare "hidden tree" o "recursively hidden" (quello che trovi nella tua versione) per la cartella che contiene tutti.
Title: Re: NEW FEATURE
Post by: nuvolablu on February 16, 2010, 04:31:10 PM
quella funziona perfettamente, il problema è che se l'utente A per caso conosce l'utente b, potrebbe indovinare il percorso dell'utente b....e condividendo user e password, potrebbe entrare senza problemi...
Title: Re: NEW FEATURE
Post by: rejetto on February 16, 2010, 04:33:08 PM
ma entra e non vede niente, se attivi quell'opzione
Title: Re: NEW FEATURE
Post by: nuvolablu on February 16, 2010, 05:17:26 PM
non mi sono spiegato bene

questo era il post iniziale

http://www.rejetto.com/forum/index.php/topic,6896.0.html

...e funziona perfettamente...

però con i limiti di cui spiegavo in questo post...
spero che ora sia chiaro.
Altrimenti riformulerò la domanda in modo che lo sia...
lo so, è compliceto...
Title: Re: NEW FEATURE
Post by: nuvolablu on February 16, 2010, 05:20:08 PM
ho usato questa soluzione...
questa è la soluzione + semplice che mi viene in mente

tasto destro sulla cartella guest, proprietà, e poi in "diff template" metti questo
{.if|{.%folder% = /guest/.}|di qui non si passa|{:{.section||back=1.}:}.}


funziona solo con l'ultima 2.3 beta

Title: Re: NEW FEATURE
Post by: rejetto on February 17, 2010, 10:25:10 AM
ma quindi tu vuoi bloccare solo l'accesso alla cartella "guest", e non alle sue sottocartelle?

che io sappia puoi ottenere lo stesso risultato che hai ottenuto con il diff tpl, semplicemente disabilitando "browsable" nelle proprietà della cartella "guest".
confermi?
questa soluzione funziona anche nella 2.2
Title: Re: NEW FEATURE
Post by: nuvolablu on February 17, 2010, 10:53:54 AM
Ciao,
    non mi sono spiegato bene.
lo script da inserire del diff template funziona a meraviglia, ed era stato fatto per aggirare degli ostacoli che avevamo incontrato cercando di ottenere lo stesso risultato sfruttando le opzioni standard del programma hfs.

gli utenti della rete locale per pubblicare una cartella verso un nuovo utente, semplicemente copiano la cartella nominandola con il nome del cliente, all'interno della cartella guest.

es: nomecartella, Mario e all'interno i files da dar scaricare a Mario.

l'indirizzo pubblico per mario sarà:

http://nomedominio.it/guest/mario

e si loggherà con le credenziali condivise della cartella guest (es. user:pull pw: push)

il problema è che i nomi di persona non sono infiniti, e che probabilmente uno smaliziato potrebbe provare a sostituire all'indirizzo per mario, il nome di giovanni....o di altri nomi comuni italliani

http://nomedominio.it/guest/giovanni

...ed utilizzando le credenziali che già conosce, (user:pull pw: push), riuscire ad accedere allo spazio dedicato a giovanni, senza averne diritto.


Per ovviare a questo quindi ho pensato che username o password o entrambe potessero essere ricavate in modo automatico dal programma in modo che

http://nomedominio.it/guest/mario
avessere username o pw diverse da
http://nomedominio.it/guest/giovanni
...e che questa diversità sia ricavata dal nome della sottocartella che differenzia i due percorsi (giovanni e mario)

Spero ora di essermi spiegato.
Aspetto un tuo feedback.
S:

Title: Re: NEW FEATURE
Post by: rejetto on February 17, 2010, 01:05:06 PM
capito.
io ti avevo proposto una soluzione equivalente a quella che tu già usi.
quindi, la mia soluzione non ti va bene perché nemmeno lo script che stai usando attualmente è sufficiente.

una soluzione che mi viene in mente è fare uno script che
- al momento della richiesta
- controlla se è una cartella AND è una sottocartella di "guest" AND non è protetta
- solo in questo caso la protegge assegnando user/pass determinate dal sistema che decidi tu

tradotto (scrivo di getto senza testare) quindi, ALT+F6

Code: [Select]
[+request]
{.if|{.and
  |{. {.cut|-1||%url%.} = / .}
  |{. {.pos|/guest|%url%.} = 1.}
.}|{:
  {.set|user|{.filename|%url%.}.}
  {.{.if|{.get account|{.^user.}|exists.}|set|new.} account
      |{.^user.}|password=xxxxx.}
  {.set item|%url%|access={.^user.}.}
:}.}

è solo una bozza per far vedere che si può/potrà fare.
infatti utilizza il comando "exists" che sarà disponibile nella prossima build (255),
e usa come password xxxxx perché non so quale sistema userai per la password.
inoltre non fa il controllo per vedere se la cartella è già protetta, la protegge in ogni caso, perché al momento non esiste una funzione per fare questo controllo, ma non è fondamentale.
Title: Re: NEW FEATURE
Post by: nuvolablu on February 17, 2010, 01:51:32 PM
ottimo,
   ma siccome io non so nulla di programmazione, mi sono fermato ai tempi del mitico c=64

10 rem cancella lo schermo e scrivi "hello"
15 cls
20 print "hello"
30 end


...come potrei modificare quella stringa "password"?

a me piacerebbe innanzitutto che lo username sia il nome della cartella

http://nomedominio.it/guest/mario

user: mario
pw:

http://nomedominio.it/guest/giovanni


user: giovanni
pw:

invece per quanto riguarda la password...non saprei...
potrebbe essere "guest" come pure "guest" e il numero della prima lettera dalnome della cartella
es: Angelo =1 A=1
Baldo =2 b=2
ecc...

altre idee sono le benvenute.
grazie.
S.

Title: Re: NEW FEATURE
Post by: rejetto on February 17, 2010, 06:21:07 PM
ok, puoi decidere lo schema e poi me lo comunichi in privato.
qua legge tutto il mondo :)