Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    Protezione pagina con psw

    Ciao,

    Non so assolutamente usare ASP.

    Ho inserito questo codice

    <% Response.Buffer = True %>
    <% STATUS = Request("STATUS") %>
    <% PASSWORD = Request("PASSWORD") %>

    <% If STATUS = "CHECKEM" Then %>
    <% If PASSWORD = "psw" THEN %>
    <% Session("PASSWORDACCESS") = "Yes" %>
    <% End If %>
    <% End If %>

    <% If Session("PASSWORDACCESS") <> "Yes" Then %>

    e questo

    <form method="post" action="privato.asp">
    <div>

    <input type="password" name="PASSWORD" size="15" />

    <input type="hidden" value="checkem" name="status" />
    <input type="submit" value="Entra" /></p>
    </div>
    </form></p>

    nella mia pagina, l'ho messa sul server, ma quando digito la psw e do l'ok, in quale altra pagina dovrebbe collegarsi? in pratica mi ritorna alla stessa (richiesta psw compresa).
    Credevo che la stessa pagina si "trasformasse" nella pagina privata, ma non è così, o sbaglio?

    Grazie Fcw
    SpeculumAtrum
    AutoCAD - Lavori Pubblici - Apnea

  2. #2
    Se non sai assolutamente usare asp la vedo un po' grigia...
    in ogni caso, almeno per questa cosa facciamo un minimo di chiarezza.

    Ti indico la via più breve per creare un semplice accesso con user e password senza database:

    1 - Crei una pagina statica "index.html" così strutturata:
    codice:
    <form name="miaform" id="miaform" method="post" action="submit.asp">
    <input type="text" name="username" size="15" />
    
    <input type="password" name="password" size="15" />
    
    <input type="submit" value="Entra" /></p>
    </form>
    2 - Crei una pagina ASP "submit.asp" così strutturata:
    codice:
    <%
    'ipotizza che il nome utente valido sia "miaemail@miodominio.it" e la password "mionome"
    if ((lcase(request.form("username") & "") ="miaemail@miodominio.it") and (lcase(request.form("password") & "") ="mionome")) then
        response.redirect "privato.asp?accesso=0"
    else
        response.redirect "privato.asp?accesso=1"
    end if 
    %>
    3 - Crei la tua pagina ASP "privato.asp" così strutturata:
    codice:
    <%
    'mostri a video il risultato del login
    if cstr(request.querystring("accesso") & "") = "0" then
        response.write "accesso corretto"
    else
        response.write "accesso errato"
    end if 
    %>
    A naso dovrebbe andare...non vorrei fare figuracce...ma questo è proprio la base, se pensi di continuare ad inserire codice ASP nelle tue pagine, c'è ancora molto da fare.
    Il forum e la utilissima documentazione contenuta su questo sito sono un grande aiuto, ma forse da soli non sono sufficienti.

    Ciao.
    Senatus PopulusQue Romanus

  3. #3
    Grazie davvero per l'aiuto.

    Il fatto è che ho la necessità di inserire una pagina a cui accedere con psw, ho letto PHP, JS e ASP, fra tutti ho scelto ASP perchè mi sembrava più semplice e senza tanti files. Ho letto le guide su questo sito e su altri, ma non sono programmatore, faccio tutto un altro lavoro, non so se approfondirò l'argomento senza nessuno a darmi una mano, come dici bene tu.

    La pagina in questione non è "segretamente riservata" se qualcuno riesce ad accedere vedrà solo il calendario dei turni. Ecco perchè la necessità di una paginina semplice.

    Se mi posso permettere, la tua è anche troppo complessa, nel senso che io ho bisogno solo della psw senza login (veramente minimale), quindi dovrei scrivere così:

    <%
    'ipotizza che la password sia "mionome"
    if (lcase(request.form("password") & "") ="mionome")) then
    response.redirect "privato.asp?accesso=0"
    else
    response.redirect "privato.asp?accesso=1"
    end if
    %>

    e togliere l'INPUT TYPE relativo, giusto?

    Non vedo l'ora di provare anche se è difficile (per me) è sempre una cosa nuova da imparare!

    Grazie di nuovo.

    Fcw

    P.S.: ho guardato il tuo codice, avrei bisogno di una delucidazione:
    la pagina PRIVATO.ASP è quella in cui inserirò il contenuto? cioè gli orari dei turni?
    e se digito sul browser direttamente il percorso www.sito.it/privato.asp dove mi indirizzo?

    Sono proprio terra terra
    SpeculumAtrum
    AutoCAD - Lavori Pubblici - Apnea

  4. #4
    Dunque...giustissima l'osservazione riguardo l'eliminazione del campo "username":
    lo elimini dalla form di "index.html" e, ovviamente, lo elimini anche dall' "if" (occhio alle parentesi) e diventerà:

    codice:
    if lcase(request.form("password") & "") ="mionome" then
    Cioè...tante parentesi apri e tante ne devi chiudere...

    Se vogliamo proprio fare le cose ben fatte la pagina "submit.asp" dovrebbe essere così strutturata:

    codice:
    <%
    'ipotizza che la password sia "mionome"
    if lcase(request.form("password") & "") ="mionome" then
         'password corretta: memorizzo su un cookie qualcosa che mi indichi che sono entrato dalla pagina giusta ed ho inserito la password giusta (non funziona se i cookies sono disabilitati) 
         response.cookies("controllo")("accesso")="V"
         response.redirect "privato.asp"
    else
         'password errata o vuota e rimandi l'utente alla pagina precedente
         response.redirect "index.html"
    end if 
    %>
    A questo punto sulla pagina "privato.asp" mi chiedo prima di tutto se esiste un cookie che contenga la lettera "V" (che significa che prima di arrivare lì ho effettuato un login valido dalla pagina "index.html"). Il tutto dovrebbe essere più o meno così:

    codice:
    <%
    'controllo l'esistenza ed il valore del cookie
    if ucase(request.cookie("controllo")("accesso") & "")="V" then 
         'accesso effettuato correttamente
    %>
    ------ inserisci qui il tuo calendario (non so se è una tabella, una immagine.....)--------
    <%
    else
         'accesso effettuato direttamente dalla pagina o in qualche altro "strano" modo
         response.write "Accesso errato!
    Impossibile visualizzare il contenuto della pagina"
    end if 
    %>
    In realtà non te l'ho semplificato, anzi...ma questo è il modo più basico per sapere se l'utente entra da un corretto login o perchè si è trovato "casualmente" sulla pagina "privato.asp".

    Anche questo scritto di getto e non testato, ma mi fido abbastanza del fatto che funzioni.

    Se hai altri dubbi, nei limiti del possibile, io sono qui.

    Ciao.
    Senatus PopulusQue Romanus

  5. #5
    Ciao KOLOSSEO

    Ho fatto del prove del caso (per ora con le pagine vuote, poi inserirò il mio template), purtroppo ho riscontrato un problema su submit.asp, come se non me lo leggesse, il browser va sulla pagina (si vede nel percorso in alto) ma il server da errore di pagina.
    Io ho copiato spudoratamente il tuo codice, ma "intorno" va aggiunto dell'altro? tipo HTML o qualcosa che identifichi che sia un ASP?

    Come ho detto, non ne ho idea

    Grazie
    Fcw
    SpeculumAtrum
    AutoCAD - Lavori Pubblici - Apnea

  6. #6
    Prima di tutto controlla che il provider su cui è il tuo sito supporti ASP (dovresti avere l'hosting su server Microsoft)

    Detto ciò, le pagine sono, ovviamente da "condire" con i giusti tag:

    index.html:
    codice:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>Documento senza titolo</title>
    </head>
    <body>
    
    
    
    <div align="center">
    <form name="miaform" id="miaform" method="post" action="submit.asp">
    <input type="text" name="username" size="15" />
    
    <input type="password" name="password" size="15" />
    
    <input type="submit" value="Entra" /></p>
    </form>
    </div>
    </p>
    </body>
    </html>
    pagina submit.asp:
    codice:
    <%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>Documento senza titolo</title>
    </head>
    <%
    'ipotizza che la password sia "mionome"
    if lcase(request.form("password") & "") ="mionome" then
         'password corretta: memorizzo su un cookie qualcosa che mi indichi che sono entrato dalla pagina giusta ed ho inserito la password giusta (non funziona se i cookies sono disabilitati) 
         response.cookies("controllo")("accesso")="V"
         response.redirect "privato.asp"
    else
         'password errata o vuota e rimandi l'utente alla pagina precedente
         response.redirect "index.html"
    end if 
    %>
    <body>
    </body>
    </html>
    pagina privato.asp:
    codice:
    <%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>Documento senza titolo</title>
    </head>
    <body>
    <%
    'controllo l'esistenza ed il valore del cookie
    if ucase(request.cookies("controllo")("accesso") & "")="V" then 
         'accesso effettuato correttamente
    %>
    
    <%
    else
         'accesso effettuato direttamente dalla pagina o in qualche altro "strano" modo
         response.write "Accesso errato!
    Impossibile visualizzare il contenuto della pagina"
    end if 
    %>
    </body>
    </html>
    Ora è completo, ma se il tuo sito non supporta ASP ci fai ben poco.

    Ciao.

    N.B. C'era un errore nell' "if" della pagina "privato.asp" (avevo scritto "cookie" e non "cookies") ma l'ho corretto...dovrebbe andare.
    Senatus PopulusQue Romanus

  7. #7
    Non so proprio come ringraziarti

    Il server sul quale dovrò pubblicare tutto credo che sia il "base" di aruba, non l'ho acquistato io, ma dovrebbe funzionare, tra le tante prove qualcosa avevo ottenuto

    Provo subito le tue indicazioni, avevo scritto quasi tutto giusto tranne per il fatto che credevo che il codice ASP si scrivesse prima dell'HTML e non dentro.
    Ti faccio sapere...

    Ciao
    Fcw

    Ps: ho provato e funziona tutto un'ultima cosa, il cookie "V" è un qualcosa di ASP o è possibile cambiargli nome, ho provato a sostituirlo ma non mi fa più accedere alla pagina.
    L'ho rimesso come hai scritto tu, è solo curiosità.

    Sei stato gentilissimo alla fine qualcosa ho imparato e la mia pagina funziona... forse ci risentiremo quando inserirò la grafica giusta nelle pagine... ma spero di sentirti per altre cose.

    Grazie ancora
    SpeculumAtrum
    AutoCAD - Lavori Pubblici - Apnea

  8. #8
    Per quanto riguarda i cookies, pui dargli il nome che vuoi.
    In pratica funziona così:

    per scriverlo:

    response.cookies 'fisso
    ("---") 'nome del cookie es. ("utente")
    ("---") 'nome del "campo" (un cookie potrebbe averne più d'uno) es. ("id")
    =--- 'valore che vuoi dare al campo del cookie

    quindi per es.:

    response .cookies("utente")("id")=5

    ...cioè scrivi che il campo "id" del cookie "utente" ha valore 5

    --------------------------------------------------------------------------

    per leggerlo, basandosi sull' es. precedente:

    if request .cookies("utente")("id")=5 then
    'codice se vero
    else
    'codice se falso
    end if

    Con i colori noterai la differenza tra "scrivere" e "leggere".

    E' veramente una spegazioncina molto blanda e se resta "fine a se stessa" ti servirà a poco, ma ti da una minima idea di come utilizzare i cookies.

    Di nuovo ciao.
    Senatus PopulusQue Romanus

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.