Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 18

Discussione: variabili esterne

  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    73

    variabili esterne

    Ciao a tutti,
    ho delle pagine ad accesso limitato in cui per prima cosa faccio un controllo tipo:
    codice:
    If  Session("abilitazione") = abilitazione   then 
    		chisei= nome &" "& cognome 
    	Else
    		Session.Abandon()
    		Response.Redirect("../default.asp?msg=Non sei autorizzato
    Esegui prima il login") 
    End if
    Attraverso un semplice pannello di controllo costruisco nuove directory al cui interno metto la pagina con il codice sopra.
    La pagina in questione sarebbe un template e vorrei che, inserendo nella stessa directory un file di testo (anche questo generato con asp) contenente il valore di abilitazione in modo che, ad ogni nuova directory corrisponderà un file di testo che caricato nella pagina (include file ??) mi verificherà l'abilitazione o meno alla visione di quella pagina.
    ho provato così:
    codice:
    'all'interno del txt si trova la linea di testo abilitazione=123456
    'naturalmente la Session è settata ad 123456  
    
    If  Session("abilitazione") <> "" and Session("abilitazione") = abilitazione   then 
    		chisei= nome &" "& cognome 
    	Else
    		Session.Abandon()
    		Response.Redirect("../default.asp?msg=Non sei autorizzato
    Esegui prima il login") 
    End if
    ma la var abilitazione è sempre vuota.

    come posso fare?

  2. #2
    Sinceramente non so aiutarti, sta di fatto che non ti conviene passare il messaggio "Non sei autorizzato Esegui prima il login" via querystring perchè è un invito a nozze a utilizzare il cross-site scripting
    Matrix è ovunque, è intorno a noi, anche adesso nella stanza in cui siamo. È quello che vedi quando ti affacci alla finestra o quando accendi il televisore. L'avverti quando vai al lavoro, quando vai in chiesa, quando paghi le tasse. È il mondo che ti è stato messo dinanzi agli occhi, per nasconderti la verità.

  3. #3
    Prima della IF, fai un Response.Write dei valori. Cosa ottieni?

  4. #4
    prova in questo modo:

    If Session("abilitazione") = "abilitazione" then
    chisei= nome &" "& cognome
    Else
    Session.Abandon()
    Response.Redirect("../default.asp?msg=Non sei autorizzato
    Esegui prima il login")
    End if


    'all'interno del txt si trova la linea di testo abilitazione=123456
    'naturalmente la Session è settata ad 123456

    If Session("abilitazione") <> "" and Session("abilitazione") = "abilitazione" then
    chisei= nome &" "& cognome
    Else
    Session.Abandon()
    Response.Redirect("../default.asp?msg=Non sei autorizzato
    Esegui prima il login")
    End if


    Ho aggiunto le parti in rosso!!!

  5. #5
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    73
    riepilogando,
    x hunt:
    le tue modifiche portano ad un test di session uguale alla stringa abilitazione, il che non serve per i miei scopi (ad ogni directory il valore di abilitazione è diverso per differenziare l'accesso).
    codice:
    If Session("abilitazione") = "abilitazione" then

    x fuocogreco:
    la stringa contenuta nel txt (abilitazione=utA) mi viene stampata a video essattamente com'è: abilitazione=utA
    ma la variabile abilitazione non contiene nulla(mi sa che non esiste proprio)
    Le variabili di sessione sono settate ai valori presi dal db nel momento dell'autenticazione (nome, cognome e il valore da testare con abilitazione)

    com'è ora
    codice:
     
    <%
            nome=Session("nomeUtente")
    	cognome=Session("cognomeUtente")
            response.write("
    session="&Session("abilitazione"))
    	response.write("
    ab="&abilitazione)
    	
    if 	Session("abilitazione") <>"" then
    
    	If  Session("abilitazione") = abilitazione   then 
    		chisei= nome &" "& cognome & " "& tipo &Session.SessionID
    	Else
    'commento per poter vedere le var
    		'Session.Abandon()
    		'Response.Redirect("../default.asp?msg=Non sei autorizzato
    Esegui prima il login") 
    	end if
    	
    end if
    ciò che vedo a schermo:
    abilitazione=utA
    session=utA
    ab=

    xZeroCool981:
    ma quali problemi ci possono essere visto che tutti i redirect avvengo su server in modo trasparente per l'utente, considerando poi che ciò che "gira" è solo ed esclusivamente la var msg (quella che contiene i messaggi di avviso).
    se esistono vere contro indicazioni non sarà un problema usare il r.form con post...

  6. #6
    la pura presenza di abilitazione=sdjkfh sul file di testo, anche se incluso, non presuppone per nulla che ci sia una variabile chiamata abilitazione che contenga sdjkfh .... devi tramite fso andare a leggerti il file di testo, memorizzare il codice in una variabile di nome abilitazione e solo allora fare il test della variabile stessa!!!!!
    se non è bello ciò che è bello figuriamoci ciò che è brutto!!



    fai anche tu come me: indenta il codice!!!!

  7. #7
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    73
    Mitico!
    hai colto il problema..mentre io ne ho un'altro
    ho aggiunto
    codice:
    'apro il file di testo
    '
      	strPath = Server.MapPath("accesso.txt")
    	Set objFileSy = Server.CreateObject("Scripting.FileSystemObject")
    	Set objApriFile = objFileSy.OpenTextFile(strPath, 1)
    	'leggo il contenuto della prima riga e lo metto nella var abilitazione
    	
    	abilitazione= objApriFile.ReadLine
    	
    	objApriFile.close
    	Set objApriFile = Nothing
    	Set objFileSy = Nothing 
    
    
    	nome=Session("nomeUtente")
    	cognome=Session("cognomeUtente")
    	tipo=Session("tipoUtente")
    	response.write("
    aa="&abilitazione&"
    ")
    'segue il resto del codice
    la pagina cerca di caricare per un sacco di tempo e alla fine non ottengo risposta..
    dov'è che sbaglio?

  8. #8
    il file di testo che cerchi di parire è nella stessa cartella della pagina asp che contiene il codice che hai scritto?
    se non è bello ciò che è bello figuriamoci ciò che è brutto!!



    fai anche tu come me: indenta il codice!!!!

  9. #9
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    73
    rettifico:
    mi ha mandato in bomba iis!
    mi dice che è impossibile accedere alla pagina per un numero troppo alto di utenti(!!) e non sono nemmeno riuscito a riavviare il servizio.. ho riavviato il pc.

    comunque sì, accesso.txt è nella stessa directory del file asp.

  10. #10
    invece che riavviare il pc fai iisreset in esgui ... così riparte iis ... amenochè nonsia andata proprio in bomba tutta la macchina ...
    prova a dargli prima il percorso completo per provare se funziona,poi usi server.mappath ...
    se non è bello ciò che è bello figuriamoci ciò che è brutto!!



    fai anche tu come me: indenta il codice!!!!

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.