Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1
    Utente di HTML.it L'avatar di Renyp
    Registrato dal
    Nov 2004
    Messaggi
    304

    password diverse, aree amministrazione diverse

    Ciao a tutti!
    Ho creato un'area di amministrazione che inizialmente prevedeva un unico tipo di accesso. Adesso mi è stato richiesto di prevedere diversi tipi di accesso con diversi tipi di permessi, più o meno restrittivi a seconda di user e password inserite.
    Es.:
    Id1 + Pass1
    --> Leggi annunci, Aggiungi annuncio, Elimina Annuncio

    Id2 + Pass2
    --> Leggi annunci, Aggiungi annuncio

    Id3 + Pass3
    --> Leggi annunci

    Inizialmente ho utilizzato il seguente script per controllare user e pass inserite nel db e creare quindi una session:

    Codice PHP:
    <%  
        
    dim usernamepasswordinvia
        username 
    request.form ("username")
        
    password request.form ("password")
        
    invia request.form ("invia")
        
    if  
    invia <> "" then
        sqlControllo 
    "SELECT ID,username,password FROM Admin "
        
    sqlControllo sqlControllo "WHERE username='"&username&"' and password='"&password&"' "
        
        
    set rsControllo objConn.execute (sqlControllo)
                if 
    rsControllo.eof <> true then
                    dim idAdmin
                        idAdmin 
    rsControllo("ID")
                        
    session("logadmin") = idAdmin
                
    else
                    
    response.redirect("default.asp")
                
    end if 
    else

        if 
    session("logadmin") = "" then
            response
    .redirect("default.asp")
        else
            
    response.redirect("ERRORE")
        
    end if
                    
    end if    
    %> 
    Nella pagine di amministrazione, a questo punto, uso il seguente script all'inizio di ogni pagina di amministrazione per controllare se la session è aperta:

    Codice PHP:
    <% 
    if 
    session("logadmin") = "" then
        response
    .Redirect("login_admin.asp")
        else
    %>
    <
    html>
    <
    head>.... 
    Adesso vorrei semplicemente modificare questo script per le nuove esigenze di amministrazione, inviando gli utenti in pagine di amministrazione diverse (con contenuti diversi) a seconda di user e pass inserite.
    Domande:
    1) Mi conviene procedere in questo modo o dovrei ripensare tutta la struttura?
    2) Eventualmente, come devo modificare questo/i script?


    Grazie a tutti in anticipo per la collaborazione!
    E buona domenica..

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Aggiungi un campo alla tabella admin (pass) poi verifichi il livello e in base a quello rimandi alla rispettiva pagina
    Codice PHP:
    if  invia <> "" then
        sqlControllo 
    "SELECT ID,username,password,pass FROM Admin "
        
    sqlControllo sqlControllo "WHERE username='"&username&"' and password='"&password&"' "
        
        
    set rsControllo objConn.execute (sqlControllo)
                if 
    rsControllo.eof true then
    response
    .redirect("ERRORE")
    else
                    
    dim pass
                        pass 
    rsControllo("pass")
    if 
    pass 1 Then 
                        session
    ("logadmin") = pass
                    response
    .redirect("paginapass1.asp")
    elseif 
    pass 2 Then 
                        session
    ("logadmin") = pass
                    response
    .redirect("paginapass2.asp")
    elseif 
    pass 3 Then 
                        session
    ("logadmin") = pass
                    response
    .redirect("paginapass3.asp")
                
    end if
    else

        if 
    session("logadmin") = "" then response.redirect("default.asp")

        
    end if
                    
    end if 
    Crei 3 pagine distinte (paginapass1.asp, etc..) cosi fai prima, poi nelle rispettive pagine verifichi la sessione
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Utente di HTML.it L'avatar di Renyp
    Registrato dal
    Nov 2004
    Messaggi
    304
    Grazie mille Andrea per la tua risposta in piena domenica mattina!

    Mi sembra una soluzione semplice ed efficace, la testo e ti faccio sapere!

    Una considerazione: mi conviene creare anche session con nomi diversi? Forse non è necessario..che ne pensi?


  4. #4
    Originariamente inviato da Renyp
    Grazie mille Andrea per la tua risposta in piena domenica mattina!

    Mi sembra una soluzione semplice ed efficace, la testo e ti faccio sapere!

    Una considerazione: mi conviene creare anche session con nomi diversi? Forse non è necessario..che ne pensi?

    A mio avviso sarebbe meglio in effetti.
    Con una unica session c'è il rischio che cambiando url a mano sul browser si acceda alle pagine con pieni poteri bypassando il controllo fatto al login.

  5. #5
    Utente di HTML.it L'avatar di Renyp
    Registrato dal
    Nov 2004
    Messaggi
    304
    Grazie mille, allora procedo così..


  6. #6
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Originariamente inviato da Domenix
    A mio avviso sarebbe meglio in effetti.
    Con una unica session c'è il rischio che cambiando url a mano sul browser si acceda alle pagine con pieni poteri bypassando il controllo fatto al login.
    Potresti fare un esempio pratico di come si può bypassare una session? Visto che non vedo come possa essere possibile, ma dato non si finisce mai d'imparare potrebbe servirmi in futuro.
    Ciao e grazie.
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  7. #7

    Re-Renyp

    Ti do una dritta, anche io ho avuto questo problema e l'ho risolto con la personalizzazione di questo script.

    http://asp.html.it/script/vedi/3838/table-editor/

    In pratica ti da la possibilità di interfacciare dei LOGIN con restrizioni su + livelli tipo:

    Database login = Ci accede l'amministratore che concede sia i livelli di accesso, che

    l'interfaccia di ogni singolo data-base.

    In pratica decidi tu il livello di accesso e x quale data-base deve avere accesso quel LOGIN.

    Cavolo spero di essermi spiegato bene.

    L' Amministratore ha accesso a tutti i login e database interfacciati, ma può decidere

    di restringersi a sua volta, cosi come può concedere l'amministrazione condivisa

    remota del sistema. Faccio un'esempio:

    L' Amminitratore = Concede i login e i livelli tipo 1 e 2 ecc.

    il livello1) Accede al database 1= che contiene gli annunci e che è stato interfacciato

    dall'aministratore principale che a sua volta ha creato il sistema e gestisce lo

    script. Per intendersi si può interfacciare (A livello 1) come amministrazione

    (Table) un'eventuale secondo data_base_login2 che servirà x

    un'eventuale sottoarea di restrizione autonoma del proprietario del sito web.

    Questa sarà creata naturalmente in separata sede (da questo script),

    quindi un'eventuale seconda area di accesso a livello login però con

    data_base_login2
    dentro il (livello1) per gestire le password e le

    user della medesima area a (livello1)(. Lo stesso si può fare per

    il livello2)

    A proposito lo script già è composto dell' area a livello Login quindi User e Password d'accesso.

    Conclusioni:

    Puoi decidere con questo sistema a chi fare amministrare le tabelle all'interno dei data_base - sia a livello utente o data_base.

    A proposito la personalizzazione di cui ti parlavo è solo per la trasformazione dei comandi in italiano tutto qui, x il resto funziona già da solo.

    Spero di esserti stato utile

  8. #8
    Utente di HTML.it L'avatar di Renyp
    Registrato dal
    Nov 2004
    Messaggi
    304
    Grazie mille Alessandro, penso proverò anche la tua soluzione.

    Nel frattempo, stavo già modificando il mio script con la soluzione precedente, e riscontro un errore, ossia non mi fa mai accedere all'area admin perchè user e password non sarebbero corrette.
    Questo lo script della pagina di login, login_admin.asp:

    Codice PHP:
    <form action="controllo.asp" method="post" name="admin">
    <
    center>username: <input type="text" name="username" maxlength="8"></center>

    <
    center>password: <input type="password" name="password" maxlength="8"></center>

    <
    center><input type="submit" name="invia" value="invia"></center>
    </
    form>
    <%
    dim login
        login 
    request("login")
        if 
    login <> "" then
    %>


    Siamo spiacentiper accedere all'area riservata è necessario inserire Username e Password corretti.</p>
    <% end if %> 
    Questo lo script della pagina controllo.asp:

    Codice PHP:
    <%@LANGUAGE="VBSCRIPT"%>


    ...
    ...
    <
    html>
    <
    head>
    <
    title>Documento senza titolo</title>
    <
    meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    </
    head>

    <
    body>
    <% 
    response.Redirect("notizie_admin.asp") %> ' se l'accesso avviene con user2 e password2entro in questa pagina 
    Questo lo script della pagina script_controllo_admin.asp:

    Codice PHP:
    <%  
    if  
    invia <> "" then
        sqlControllo 
    "SELECT ID,username,password,pass FROM Admin "
        
    sqlControllo sqlControllo "WHERE username='"&username&"' and password='"&password&"' "
        
        
    set rsControllo objConn.execute (sqlControllo)
                if 
    rsControllo.eof true then
                    response
    .redirect("login_admin.asp?login=ERRORE")
                else
                    
    dim pass
                        pass 
    rsControllo("password")
                            if 
    pass "pippo01" Then
                                session
    ("logadmin") = pass
                                response
    .redirect("pagxxx.asp")
                            elseif 
    pass "pippo02" Then
                                session
    ("logadmin") = pass
                                response
    .redirect("notizie_admin.asp")
                        
                            
    end if
                
        
    end if
                    
    end if
    %> 
    Se il controllo per la pass pippo02 dovesse avere buon esito, il redirect manda l'utente alla pagina notizie_admin.asp che ha il seguente codice:

    Codice PHP:

    <% if session("logadmin") = "" then
            response
    .redirect("login_admin.asp?login=ERRORE")
        else
    %>
    <
    body>... 
    In pratica mi rimanda sempre a "login_admin.asp?login=ERRORE".
    Non riesco a capire dove possa essere l'errore


  9. #9

    Prova cosi

    Session("logadmin")=logadmin("pippo02")

    Scusa ma anch'io non sono una cima con asp mi ci diletto da poco

    non capisco questo > :master: response.redirect("pagxxx.asp")

  10. #10
    Utente di HTML.it L'avatar di Renyp
    Registrato dal
    Nov 2004
    Messaggi
    304
    Vuol dire che se la password è pippo01, attivo una session e rimando l'utente ad una pagina X (che devo ancora creare).


    Se la password è pippo02 allora mando l'utente alla pagina notizie_admin.asp.

    Ho fatto alcuni tentativi, ma non funziona. Non vorrei che in questo punto non arrivasse proprio nessun valore e che quindi anche il valore di session rimanga vuoto:

    Codice PHP:
    dim pass 
                        pass 
    rsControllo("password"
                            if 
    pass "pippo01" Then 
                                session
    ("logadmin") = pass 
                                response
    .redirect("pagxxx.asp"
                            elseif 
    pass "pippo02" Then 
                                session
    ("logadmin") = pass 
                                response
    .redirect("notizie_admin.asp"
                         
                            
    end if 

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.