PDA

View Full Version : [ASP.NET] - Aree Protette - INFO


cagnaluia
11-12-2006, 18:47
Ciao,

sto iniziando a manovrare con ASP.NET.

Prima di fare qualsiasi cosa vorrei capire come funzionano o come è meglio sviluppare quelle che sono le Aree Protette di un sito internet.

Per iniziare vorrei fare un semplice programmino che si collega ad un database, estragga dei dati e me li mostri.

Poi farò qualcosa di piu reale e complesso.. ma il problema non è qui. Insomma, si tratta solo di poche righe in SQL.

Il problema è che a digiuno di ASP.NET, non so come sia meglio gestire le aree protette con nome utente e password.

Vedere, per iniziare, il programma lo farò girare in intranet, nella rete aziendale. Li ci sono pochi problemi.
Ma piu in là... (non tanto per la verità...) vorrei spostare il progetto sul web. Visto che è li che servono il piu delle statistiche e dei report che creerò.

Il mio problema e la mia paura è nel gestire le protezioni che sono d obbligo una volta che ci si affaccia al www.

In più ogni persona che farà l'accesso all applicazione dovrà vedere certe cose che altri non possono vedere e viceversa.

Quindi.

1. come devo proteggere il programma ... e il collegamento perchè nessuno ci metta le mani e danneggi qualcosa o cancelli dati?


proprio base base..
io immagino una form.. con nome utente e password.
in questa form qualcuno digiterà le informazioni:
a. sono corrette, lo redirigerò su una pagina ad hoc (è così che si fa? Mi viene il dubbio però che una volta conosciuta la pagina ad hoc, la si possa linkare direttamente bypassando il sistema di login&pwd).
b. saranno sbagliate e l'applicazione redirigerà l'utente su una pagina di errore.

Poi, come configuro la stringa per la connessione al Database?
a. Userò una password univoca per tutti gli utenti, che crea il collegamento e POI a seconda dell utente creo le query?
b. oppure uso la password digitata dall utente per aprire il collegamento e quindi per fare le query?

Ma queste password sul programma come le nascondo?
Se per esempio uso una password generale per tutti, questa deve essere scritta su un file... questo file è esposto al www... quindi può essere letto?


Scusate.. immagino che siano cose proprio banali.. ma concettualmente mi paicerebbe capire come funzionano le protezioni piu comuni e affidabili.

giannola
12-12-2006, 11:27
io per accedere utilizzo, anche per evitare una sql injection, la convalida di email ed una password numerica a 9 cifre. ;)
Però non ti fissare su sta cosa visto che al momento devi imparare ed è, dunque, sicuro che i tuoi primi lavori saranno molto imperfetti.

0rph3n
12-12-2006, 19:21
cioè ad ogni login fai inviare dall'applicazione all'utente un email con un codice che poi lui dovrà reimmettere?
beh macchinoso, però tutto sommato è efficace.
ovvio che poi tutto va regolato in base al risultato che si vuole ottenere! (chezzo :D)

'iao

cagnaluia
12-12-2006, 19:41
a me serve anche una certa integralità con Win2003srv.

un pò come accade per Exchange webmail, l'applicazione legge le informazioni relative all account del pc aperto e di conseguenza apre la posta dell utente corretto.
Senza digitare nulla.
(Oppure facendogli digitare login e pwd.)

giannola
12-12-2006, 20:30
cioè ad ogni login fai inviare dall'applicazione all'utente un email con un codice che poi lui dovrà reimmettere?
beh macchinoso, però tutto sommato è efficace.
ovvio che poi tutto va regolato in base al risultato che si vuole ottenere! (chezzo :D)

'iao

quando accede all'applicazione l'utente viene autenticato nel modo suddetto, poi ovviamente terrò traccia della sua identià tramite cookie, almeno fino allo scadere della sessione. ;)
se si deve gestire parecchio traffico questa soluzione è certamente migliore rispetto a creare una sessione per ogni utente.
Al momento faccio così, anche se sto pensando seriamente di creare un file di testo criptato da salvare direttamente sul suo pc e casomai autenticarlo solo nel caso di cancellazione dello stesso.

Einstein
12-12-2006, 21:04
Tutto quello che chiedi è già incluso in ASP.NET, basta saperlo applicare a dovere. :-)
Tanto per iniziare dai un'occhiata a questo articolo:

http://www.aspitalia.com/articoli/asp.net/formauthroles.aspx

Se usi ASP.NET 2.0 (cosa che ti consiglio caldamente) troverai molto utile la Membership API:

http://www.aspitalia.com/articoli/asp.net2/membership_roles_api.aspx

Poi, quando ti sarai fatto un bel background, ti consiglio *caldamente* la lettura del libro che trovi qui:

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnnetsec/html/secnetlpMSDN.asp

Il libro non è banale ed è in inglese, ma ti assicuro che è un preziosissima fonte di informazioni riguardanti la sicurezza.

Buon lavoro (e buona lettura)

Hardware Upgrade Forum Database Error
Database Error Database error
The Hardware Upgrade Forum database has encountered a problem.

Please try the following:
  • Load the page again by clicking the Refresh button in your web browser.
  • Open the www.hwupgrade.it home page, then try to open another page.
  • Click the Back button to try another link.
The www.hwupgrade.it forum technical staff have been notified of the error, though you may contact them if the problem persists.
 
We apologise for any inconvenience.