Pagina 2 di 12 primaprima 1 2 3 4 ... ultimoultimo
Visualizzazione dei risultati da 11 a 20 su 116

Discussione: Password

  1. #11
    La cosa, però, mi ha fatto riflettere.

    Solitamente, se non è necessaria una routine più articolata (tipo registrazione utente con conferma via email, diversi diritti di accesso per i vari utenti, ecc.), uso un semplicissimo script che prevede la redirezione alla homepage dopo l'autenticazione.

    In breve, all'inizio di ogni pagina a cui può accedere solo l'utente autenticato, inserisco l'istruzione

    dove "riservato.asp" è un brevissimo file che controlla il contenuto di una variabile di sessione: se la variabile non vale, per esempio, "OK", l'utente viene rediretto alla pagina "login.asp".

    Login.asp, a sua volta, acquisisce le variabili "user" e "pass": se queste sono vuote o non corrispondono ad una coppia di valori presenti nel database rimanda al form di inserimento user-pass, altrimenti valorizza

    variabile di sessione = "OK"
    e quindi rimanda l'utente alla homepage:

    response.redirect("index.asp")
    Ebbene, ho modificato il tutto in questo modo:

    1. file "riservato.asp" da includere all'inizio delle pagine ad accesso limitato:

    codice:
    <%
    if Session("Autenticato")<>"OK" then
    	Response.Redirect("default.asp?indir="&request.servervariables("url")&"")
    end if
    %>
    dove "default.asp" è la pagina contenente il form per l'inserimento di user-pass

    2. il file "default.asp" contiene:
    codice:
    <%
    url = request.querystring("indir")
    %>
    <FORM ACTION="login.asp" METHOD="post">
    <input type="hidden" name="indir" value='<%=url%>'/>
      <TABLE ALIGN=CENTER BORDER=0>
        <TR>
          <TD WIDTH=150 ALIGN=CENTER>NOME UTENTE</td>
          <TD>
          <INPUT TYPE=TEXT NAME="user" SIZE=20>
          </td>
        </TR>
        <TR>
          <TD WIDTH=150 ALIGN=CENTER>PASSWORD</td>
          <TD>
          <INPUT TYPE=PASSWORD NAME="pwd" SIZE=20>
          </TD>
        </TR>
    	<TR>
          <TD HEIGHT=30 COLSPAN=2 ALIGN=CENTER>
          
          </TD>
        </TR>
        <TR>
          <TD HEIGHT=30 COLSPAN=2 ALIGN=CENTER>
          <INPUT TYPE=SUBMIT VALUE="submit">
          </TD>
        </TR>
      </TABLE>
    </FORM>
    3.infine "login.asp":
    codice:
    <%
    user = Replace(Request.Form("user"), "'", "''")
    pwd = Replace(Request.Form("pwd"), "'", "''")
    
    ...
    
    sql = "SELECT * FROM user WHERE user='" &user& "' AND pwd='" &pwd& "'"
    
    ...
    
    if RS.eof then
      autenticato = false
    else
      autenticato = true
    end if
    
    if autenticato = true then
      Session("Autenticato") = "OK"
      	url = request.form("indir")
      		if url <> "" then
      			Response.Redirect(url)
      		else
      			Response.Redirect("index.asp")
      		end if
    else
      Response.Redirect("default.asp")
    end if
    %>
    In sostanza l'utente non ancora autenticato viene rimandato al form per inserire nome e password passando come variabile l'indirizzo della pagina a cui aveva tentato di accedere

    Questa viene inviata a login.asp come campo "hidden" del form e utilizzata, se il login va a buon fine, come argomento dell'istruzione

    response.redirect(url)
    per rinviare l'utente alla pagina che voleva visitare.

    Se la variabile "url" è vuota (cioè se è entrato direttamente alla pagina di login oppure se il primo tentativo di autenticazione non ha avuto successo, per esempio per un errore nel digitare nome o password), l'utente viene reindirizzato alla homepage..........

    Mi sembra che funzioni benino.....cosa ne dite?



    Ho scoperto l'acqua calda?

    E' nato www.lombardiamotori.it

    www.universocase.it: il primo portale italiano di annunci immobiliari gratuiti e autogestiti!

  2. #12
    questo si potrebbe automatizzare tenendo conto che l'url della pagina da collegare all'utente 1 (per es.) è fissa e variabile solo nella directory che prende il nome dalla username scelta

    http://www.fmc2000.net/member/[USERNAME]/x.asp - campo pagina 1

    http://www.fmc2000.net/member/[USERNAME]/xx.asp - campo pagina 2
    in questo caso, come premesso, la soluzione proposta da Roby va bene: ogni utente ha UNA CERTA PAGINA FISSA cui lui solo può accedere, e l'autenticazione utente si limita a questo.

    La mia riflessione qui sopra, invece, ha valore generale e mi piacerebbe conoscere il parere del forum, anche perchè ho fatto solo pochi test.........

    E' nato www.lombardiamotori.it

    www.universocase.it: il primo portale italiano di annunci immobiliari gratuiti e autogestiti!

  3. #13
    lo proverò ma di primo acchito mi sembra che la questione sia stata ribaltata ovvero con la tua "struttura" il link alle pagine riservate nn deriva dal login (come nel mia esigenza prospettata) o sbaglio?

  4. #14
    quindi se la mia esigenza fosse di creare

    nella pagina pippo.asp inserire la maschera di login che linki l'utente 1 a una pagina x e l'utente 2 a una pagina y

    nella pagina pluto.asp inserire la maschera di login che linki l'utente 1 a una pagina xx e l'utente 2 a una pagina yy

    sarebbe sufficiente inserire nel db il campo "pagina 1" per la pagina x e y e il campo "pagina 2" per la pagina xx e yy

    e inserire nel login di pippo.asp (a proposito dove?) response.redirect(rs("pagina1"))

    e inserire nel login di pluto.asp response.redirect(rs("pagina2"))
    ...quindi le pagine

    pippo.asp

    e

    pluto.asp

    hanno due login diversi .... forse la cosa si può semplificare usando lo stesso login, e inserendo in una variabile l'url della pagina in cui l'utente sta effettuando il login: se la pagina è pippo.asp, la redirezione avverrà in base al contenuto del campo "pagina1" del database, se la pagina è pluto.asp, le redirezione sarà a "pagina2"

    Però, francamente, la cosa non mi convince: diventerebbe molto complicata appena aumentasse il numero degli utenti e/o delle pagine.............
    E' nato www.lombardiamotori.it

    www.universocase.it: il primo portale italiano di annunci immobiliari gratuiti e autogestiti!

  5. #15
    quindi le pagine pippo.asp e pluto.asp hanno due login diversi

    cosa intendi per login diversi?

    l'utente è lo stesso

    solo che da pippo.asp inserendo i suoi dati di accesso deve arrivare alla pagina x.asp

    da pluto asp lo stesso utente arriva a xx.asp che è una pagina diversa


    forse la cosa si può semplificare usando lo stesso login, e inserendo in una variabile l'url della pagina in cui l'utente sta effettuando il login: se la pagina è pippo.asp, la redirezione avverrà in base al contenuto del campo "pagina1" del database, se la pagina è pluto.asp, le redirezione sarà a "pagina2"
    quello che intendevo! perfetto!


    Però, francamente, la cosa non mi convince: diventerebbe molto complicata appena aumentasse il numero degli utenti e/o delle pagine.............
    per quello chiedevo se si può "automatizzare " la cosa sfruttando il fatto che l'url delle due pagine riservate interessate (e 2 rimarranno per ogni utente) è fissa ma varia solo nella directory corrispondente alla username scelta dall'utente

    es.

    http://www.fmc2000.net/member/[USERNAMESCELTODALL'UTENTE]/x.asp

  6. #16
    Il tuo scopo si può realizzare così:

    - all'inizio delle varie pagine "condizionate" l'istruzione

    codice:
    Response.Redirect("default.asp?indir="&request.servervariables("url")&"")
    La pagina "default.asp", cioè il form di autenticazione, potrebbe essere esattamente come quello postato sopra, compreso il campo "hidden" per passare l'indirizzo della pagina di provenienza.

    Il file "login.asp" può contenere:
    codice:
    <%
    user = Replace(Request.Form("user"), "'", "''")
    pwd = Replace(Request.Form("pwd"), "'", "''")
    url = Replace(Request.Form("indir"), "'", "''")
    ...
    
    sql = "SELECT * FROM user WHERE user='" &user& "' AND pwd='" &pwd& "'"
    
    if RS.eof then
      autenticato = false
    else
      autenticato = true
    end if
    
    
    if autenticato = true then
                    if url = "pippo.asp" then
      	  		Response.Redirect(rs("pagina1"))
      		else if url = "pluto.asp"
      			Response.Redirect(rs("pagina2"))
      		      end if
                    end if
    else
      Response.Redirect("default.asp")
    end if
    %>
    dove "pagina1" e "pagina2" sono i campi del database strutturati come hai detto tu.

    Se le pagine sono tante, si può usare "select....case" anzichè "if...then"

    Se necessario, si può creare una variabile di sessione, come nell'esempio sopra.

    Il tutto da sistemare, completare e testare.........
    E' nato www.lombardiamotori.it

    www.universocase.it: il primo portale italiano di annunci immobiliari gratuiti e autogestiti!

  7. #17
    allora...


    ho utilizzato uno script che ho trovato nella sezione

    se parti da qui

    http://win.fmc2000.net/registrazione/riservata.asp

    c'è la pagina protetta e ti viene impedito l'accesso come nn registrato

    prova a registrarti (ti arriva la mail di conferma a www va sostitutio win (a propr nn riesaco a capire dove si possa modificare il testo della mail)

    il problema è che il login rimanda alla pagina coi dati dell'utente e nn all'url della pagina protetta come si diceva

    cosa si deve modiifcare per ottenere quel risultato?

  8. #18
    dimenticavo...

    se la pagina protetta fosse una form mail (ovviamete in asp vero?)

    il fatto che sia l'utente x ad accedervi nella form può essere "reso tangibile" in qualche modo? (nn so nel subject per es.)

    ps per far si che la form di registrazione di cui al passo precedente come si può che si indirizzi anche al mio indirizzo la copia dei dati?

  9. #19
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Per come stai prospettando la cosa (rispetto a come avevo capito all'inizio) forse dovresti valutare l'utilità di tutto quello che stai facendo.
    Mi spiego. Poter disporre di un linguaggio lato server con pagine dinamiche offre la grande opportunità di far vedere a tutti gli utenti loggati le stesse pagine (pippo.asp ad esempio) ma ad ognuno con i dati relativi al proprio profilo e con le funzioni specifiche derivanti dalle loro autorizzazioni assegnate ad ogni utente.
    Non conosco gli scopi del tuo lavoro ma spingere la discussione sulle diversità di progettazione piuttosto che sull'unicità (offerta alla grande dalle pagine dinamiche) complica il lavoro, la manutenzione e non ti consente di sfruttare al meglio quello che asp (o php) ti offrono.
    Spero di essermi spiegato.
    Nella generalità dei casi ogni utente loggato va alla stessa pagina ma vede e può fare SOLO quello per cui è autorizzato. Pensare a pagine diverse ad hoc per ogni utente è una follia (generalmente).
    Pensaci...

    Roby

  10. #20
    allora io conosco poco asp (nn si è notato vero? )e nemmeno bene le potenzialità che può dare..

    la mia PRIMA ESIGENZA era quella di AUTOMATIZZARE la fase di iscrizione

    cioè avere una form di iscrizione che mi vada ad immagazzinare i dati in automatico su un db

    da questo discende poi una seconda esigenza

    io ho due tipologie di pagine da proteggere - invio formazione / mercato libero (ne parlo pensando che tu capisaca quello che intendo perchè vedo nei tuoi link uno fantacalcistico :-) che trattasi poi di due form mail di invio dati

    fino ad oggi ho utilizzato queste due tipologie pagine per CIASCUN utente perchè necessitavo che la form avesse alcune caratteristiche (es un certo subject diverso un indirizzamento divewrso, etc)

    se mi dici che utilizzando solo QUELLE due pagine in base agli accessi con asp si può diversificare beh.. meglio

    però dovresti spiegarmi come :-)

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 © 2026 vBulletin Solutions, Inc. All rights reserved.