+ Rispondi al Thread
Pagina 2 di 4 primaprima 1234 ultimoultimo
Visualizzazione dei risultati da 11 a 20 su 31

Discussione: Amministrazione spazio

  1. #11
    Post
    4,741
    Blogs
    12
    uhm... Strano, anche perche' nel mio sistema funziona tutto perfettamente.
    E comunque, non e' necessario specificare la directory "spazio2/default.asp" nel redirect, ma e' sufficiente specificare la pagina principale "default.asp".

    Sorvolando questo problema, a questo punto, ti consiglio di utilizzare APPL_PHYSICAL_PATH anziche' SCRIPT_NAME, questo parametro restituisce il percorso fisico dell'applicazione stessa, quindi e' impossibile che spazio1 e spazio2 presentino lo stesso percorso.

    Effettua questo test e fammi sapere

  2. #12
    L'avatar di blackmangi
    blackmangi non è in linea Novello
    Post
    31
    Grazie come sempre per le pronte risposte..

    Ho messo quindi in ogni spazio nel file checksession.asp:

    codice:
     <%
    if len(session("sito")) = 0 then
    	session("sito") = lcase(Request.ServerVariables("APPL_PHYSICAL_PATH"))
    else
    	if session("sito") <> lcase(Request.ServerVariables("APPL_PHYSICAL_PATH")) then
    		session.abandon
    		response.redirect "default.asp"
    	end if
    end if
    %>
    purtroppo ancora nulla...
    Gasp !

    Quote Originariamente inviato da Master85
    uhm... Strano, anche perche' nel mio sistema funziona tutto perfettamente.
    E comunque, non e' necessario specificare la directory "spazio2/default.asp" nel redirect, ma e' sufficiente specificare la pagina principale "default.asp".

    Sorvolando questo problema, a questo punto, ti consiglio di utilizzare APPL_PHYSICAL_PATH anziche' SCRIPT_NAME, questo parametro restituisce il percorso fisico dell'applicazione stessa, quindi e' impossibile che spazio1 e spazio2 presentino lo stesso percorso.

    Effettua questo test e fammi sapere

  3. #13
    L'avatar di blackmangi
    blackmangi non è in linea Novello
    Post
    31
    il CMS che uso io, è si gestito a moduli, però non è gestito da default.asp, ma bensì da una seconda pagina page.asp (richiamata da default.asp), sprovvista di controllo cheksession.asp.
    Ho provato ad inserire un include in default.asp e in page.asp che punti al cheksession.asp
    e inserire SCRIPT_NAME al codice che mi hai fornito per primo cioè:

    codice:
     <%
    if len(session("sito")) = 0 then
    	session("sito") = lcase(Request.ServerVariables("SCRIPT_NAME"))
    else
    	if session("sito") <> lcase(Request.ServerVariables("SCRIPT_NAME")) then
    		session.abandon
    		response.redirect "default.asp"
    	end if
    end if
    %>
    ora FUNZIONA , pero' c'è un problema...
    una volta entrato in admin rimango nella pagina di amministrazione (/spazio1/admin/default.asp) e non ho nessuna possibilità di variare nulla...
    Però se provo ad andare negli altri spazi, non sono più riconosciuto come admin.
    Se cambio le due righe in checksession.asp:
    codice:
     lcase(Request.ServerVariables("SCRIPT_NAME"))
    in:
    codice:
     lcase(Request.ServerVariables("APPL_PHYSICAL_PATH"))
    Posso a questo punto modificare le pagine come admin, ma se tento di andare in altri spazi, la modifica la posso fare anche se non sono admin.

    Bisognerebbe fare in modo che quando io visualizzo come admin la mia pagina nel mio spazio1, appena cambio spazio e vado in spazio2 il cookie si cancelli...
    o qualcosa di simile.
    Capisco che questi CMS prefatti in genere sono ostici da modificare, e mi scuso se ti faccio perdere tempo..

    Grazie..
    Igor.
    Ultima modifica di Master85; 12-10-2005 11:24 

  4. #14
    Post
    4,741
    Blogs
    12
    Beh, adesso l'admin e' un'altra cosa.
    Li' devi controllare che l'admin dello spazio1 sia effettivamente l'admin dello spazio1. Ti spiego, dovresti confrontare i vari dati di sessione, ad esempio: username, email e password.

    L'email e' il parametro che individua il vero admin. Non possono esistere due admin per due diversi siti che abbiamo lo stesso indirizzo di posta elettronica, no ? Sarebbero la stessa persona.

    La verifica per l'admin e' diversa, nel login, oltre a salvare username e password, devi salvare anche l'email.

    A quel punto non ti serve piu' il codice che ti ho proposto per la sezione di admin.

    A presto,
    Giuseppe Leone

  5. #15
    L'avatar di blackmangi
    blackmangi non è in linea Novello
    Post
    31
    Ciao e grazie per le risposte.
    Nella prima parte della discussione avevo specificato QUI' il contenuto del file checksession.asp e login_action.asp originale.
    Logicamente il login dell'admin dello spazio1 è differente da quello di spazio2 (pure la password).
    login admin spazio1: pippo
    password spazio1: passdipippo
    e
    login admin spazio2: pluto
    password spazio2: passdipluto
    Anche in questo modo non funziona (cioè nel modo originale).
    Igor.

  6. #16
    Post
    4,741
    Blogs
    12

  7. #17
    L'avatar di blackmangi
    blackmangi non è in linea Novello
    Post
    31
    Ho provato anche ad inserire delle email (ovviamente le corrispondenti sono anche nei rispettivi database) del tipo:
    amministratore di spazio1 email (login): pluto@pippo.it password: passssss
    amministratore di spazio2 email (login): paperino@gastone.it password: qwerttyyuio
    Non è cambiato nulla, nel senso che l'amministratore di spazio1, ina volta autenticato, può modificare anche le pagine di spazio2.
    Di seguito il contenuto di checksession.asp e login_action.asp (identici in entrambi gli spazi):

    contenuto di checksession.asp:
    codice:
    <%
    If Session("loginID") = "" Then
    Response.Redirect("/?message=not_logged_in")
    else
    LoginID = Session("LoginID")
    end if
    %>
    Contenuto di login_action.asp:
    codice:
    <%'option explicit%>
    <meta http-equiv="expires" content="0">
    <%
    ' Intercept all exceptions to display user-friendly error
    'On Error Resume Next 
    
    if Request.Form("email") = "" then
    Response.Redirect("confirm.asp?l=email_blank")
    elseif Request.Form("mynumber") = "" then
    Response.Redirect("confirm.asp?l=password_blank")
    End If
    
    Dim whtRS, FormLogin, FormPwd, LoginID, DateCode, CookieCode, filespace, filepath, logincount, whtSQL
    'set variables from form
    FormLogin = Request.Form("email")
    FormLogin = replace(FormLogin,"'","''")
    FormPwd = Request.Form("mynumber")
    FormPwd = replace(FormPwd,"'","''")
    %>
    <!-- #INCLUDE FILE="../common/dbconn1.asp" -->
    <%
    'create instance of recordset, and run query
    Set whtRS = Server.CreateObject("ADODB.RecordSet")
    whtSQL = "Select ID, email, logincount, logindate, passchange FROM Logins where active = 2 and email = '" & FormLogin & "' and mynumber = '" & FormPwd & "';"
    'Response.Write whtSQL
    whtRS.Open whtSQL, whtConn, 1,3
    
    'run login or return to login page
    if not whtRS.eof then
    dim email
    LoginID = whtRS("id")
    email = whtRS("email")
    passchange = whtRS("passchange")
    Session("LoginID") = LoginID
    Session("email") = email
    session("passchange") = passchange
    logincount = whtRS("logincount")
    whtRS("logincount") = (logincount + 1)
    whtRS("logindate") = date
    whtRS.Update
    
    'SET Cookie for email
    if request.form("rememberme") = 1 then
    Response.Cookies("email") = email
    Response.Cookies("email").Expires = Date + 14
    end if
    
    else
    whtRS.Close
    Set whtRS = Nothing
    whtConn.Close
    Set whtConn = Nothing
    Response.Redirect("confirm.asp?l=incorrect_login_or_password")
    End if
    
    'close connections,etc..
    whtRS.Close
    Set whtRS = Nothing
    whtConn.Close
    Set whtConn = Nothing
    
    'final redirect 
    Response.Redirect appurl & "/admin/default.asp"
    %>
    Necessitano delle modifiche ?
    Igor.

  8. #18
    Post
    4,741
    Blogs
    12
    Black,
    Non so piu' come devo spiegartelo... Ti ho gia' scritto in un post precedente che devi modificare il controllo sulle sessioni. Con il tuo codice di checksession.asp, ci credo che entra chiunque a modificare le pagine:

    Ti passo il codice che ho utilizzato e scritto personalmente per il controllo delle sessioni:

    codice:
    <%
    'Giuseppe Leone (aka Master85)
    'http://www.masterdrive.it
    
    function fixquote(stringa)
    	fixquote = replace(stringa, "'", "''")
    end function
    
    if len(session("login")) = 0 then
    	'CHECK VALID ADMINISTRATOR LOGIN
    	username = fixquote(request("username"))
    	password = fixquote(request("password"))
    	
    	strsql = "select * from Authors where author_username = '" & username & "' and author_password = '" & password & "' and author_level = 0"
    	set rs = con.execute(strsql)
    		if not rs.eof then
    			session("login") = rs("author_id")
    			session("username") = username
    			session("email") = rs("author_email")
    		else
    			response.redirect "login.asp"
    		end if
    	rs.close
    	set rs = nothing
    	'END...
    else
    	'RESOLVE SESSIONS ERRORS BY OTHER ADMIN SYSTEM
    	strsql = "select * from Authors where author_username = '" & session("username") & "' and author_email = '" & session("email") & "' and author_id = " & session("login")
    	set rs = con.execute(strsql)
    		if rs.eof then
    			response.redirect "login.asp"
    		end if
    	rs.close
    	set rs = nothing
    	'END...
    end if
    %>
    Rinnovo:
    Questo codice e' valido *solo* per le sezioni amministrative

    P.S.
    Ovviamente devi adattarlo alle tue esigenze modificando le query SQL.

  9. #19
    L'avatar di blackmangi
    blackmangi non è in linea Novello
    Post
    31
    Buon giorno Giuseppe ho adattato il file che gentilmente mi hai dato ma ho ancora problemi. Ecco l'adattamento:

    codice:
     <%
    'Giuseppe Leone (aka Master85)
    'http://www.masterdrive.it
    
    function fixquote(stringa)
    	fixquote = replace(stringa, "'", "''")
    end function
    
    if len(session("login")) = 0 then
    	'CHECK VALID ADMINISTRATOR LOGIN
    	username = fixquote(request("username"))
    	password = fixquote(request("password"))
    	
    	strsql = "select * from Logins where email = '" & username & "' and mynumber = '" & password & "'"
    	set rs = con.execute(strsql)
    		if not rs.eof then
    			session("login") = rs("author_id")
    			session("username") = username
    			session("email") = rs("author_email")
    		else
    			response.redirect "confirm.asp"
    		end if
    	rs.close
    	set rs = nothing
    	'END...
    else
    	'RESOLVE SESSIONS ERRORS BY OTHER ADMIN SYSTEM
    	strsql = "select * from Logins where email = '" & session("username") & "' and mynumber = " & session("login")
    	set rs = con.execute(strsql)
    		if rs.eof then
    			response.redirect "confirm.asp"
    		end if
    	rs.close
    	set rs = nothing
    	'END...
    end if
    %>
    Con il codice sopra, ho problemi relativi a questa riga:
    codice:
     set rs = con.execute(strsql)
    probabilmente un errore di connessione al database...
    Purtroppo non sono in grado di apportare modifiche al codice CODICE ORIGINALE Credo che rinuncero' all'impresa...
    Igor.

  10. #20
    net-addiction non è in linea Scolaretto
    Luogo
    Treviso
    Post
    476
    io conn l'ho sempre scritto con 2 n. non so se sia questo l'errore :P
    - The user formerly known as GRiM[R]eaPeR -

+ Rispondi al Thread
Pagina 2 di 4 primaprima 1234 ultimoultimo

Discussioni simili

  1. Calcolo spazio disco
    Da Carmen nel forum Visual Basic 6
    Risposte: 11
    Ultimo Post: 18-05-2006, 20:10
  2. Determinare lo spazio di una cartella
    Da Carmen nel forum Visual Basic 6
    Risposte: 10
    Ultimo Post: 13-10-2005, 21:49
  3. problema in mozzila
    Da zilucas nel forum HTML, CSS, Javascript, AJAX
    Risposte: 3
    Ultimo Post: 01-07-2005, 14:07

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi