17 messaggi dal 11 dicembre 2003
Ciao a tutti,
ho un grosso problema:
ho creato una pagina ASP con un modulo per l'invio di SMS.
A questa pagina si accede effettuando un login.
Tramite sessione e login identifico l'utente e all'apertura della pagina faccio scrivere sul DB in una tabella di log: IDUtente, data di accesso.
Quando l'utente prova a riaprire questa pagina, tramite un controllo sulla tabella di log, se l'utente ha già aperto la pagina nello stesso giorno, questo viene reindirizzato ad una pagina di errore e quindi non può aprire il modulo per spedire un'altro SMS. Io stesso ho provato diverse volte e non riesco ad accedere, ma ho scoperto tramite il log che qualche utente riesce ad aprire il modulo e bypassare i controlli, come posso risolvere il problema?

E vai...
con Aspitalia
Ma che genere di controlli fai? Posta il codice

--
Andrea Palmatè
17 messaggi dal 11 dicembre 2003
Andrea Palmatè ha scritto:
Ma che genere di controlli fai? Posta il codice

ciao Andrea,
adesso vado ad aprire il file per postarti il codice del controllo che a grandi linee va a controllare se l'utente ha già aperto la pagina il quel giorno, dammi un po' di tempo per trovare le righe di codice

E vai...
con Aspitalia
17 messaggi dal 11 dicembre 2003
Questa è la query ( tramite var di sessione del Nick) che mi restituisce ("Expr1000") = 0 oppure > 1
<%
Dim RsLog
Dim RsLog_numRows

Set RsLog = Server.CreateObject("ADODB.Recordset")
RsLog.ActiveConnection = MM_connessione_STRING
RsLog.Source = "SELECT Count (*)  FROM LogSms, Utenti  WHERE RegistroSms.IDUtente = Utenti.IDUtenteAND Nick = '" + Replace(RsLog__varUtente, "'", "''") + "' AND DataSms = " + Replace(RsLog__varData, "'", "''") + ""
RsLog.CursorType = 0
RsLog.CursorLocation = 2
RsLog.LockType = 1
RsLog.Open()

RsLog_numRows = 0
%>


questo è il controllo e il redirect
<% dim Sms
Sms = (RsLog.Fields.Item("Expr1000").Value)
If Sms > 0 Then response.Redirect("smsko.asp")
%> 

E vai...
con Aspitalia
Azz.. io odio DreamWeaver..

Senti ma quando l'utente effettua correttamente il login ci setti una variabile di sessione su cui dopo fai il controllo?

cioè dopo il login:

Session("login")=1

e in OGNI pagina (quindi metti il controllo in un include)

<% if Session("login")<>1 then response.redirect("smsko.asp") %>

Fai questo controllo o no?

--
Andrea Palmatè
17 messaggi dal 11 dicembre 2003
Andrea Palmatè ha scritto:
Azz.. io odio DreamWeaver..

Senti ma quando l'utente effettua correttamente il login ci setti una variabile di sessione su cui dopo fai il controllo?

cioè dopo il login:

Session("login")=1

e in OGNI pagina (quindi metti il controllo in un include)

<% if Session("login")<>1 then response.redirect("smsko.asp") %>

Fai questo controllo o no?

Questo non l'ho ancora provato, puoi darmi qualche indicazione in più?

E vai...
con Aspitalia
Praticamente se tu non metti un controllo sulla login effettuata o meno se io metto nel browser l'indirizzo della pagina che mi fa inviare l'SMS SENZA passare dalla login l'sms è molto probabile che lo invii senza problemi.
Quindi nella pagina di login dopo che hai controllato che username e password inserisci l'istrizione

Session("login")=1

creati un include che chiami ad esempio checksession.asp

e al suo interno ci metti l'istruzione:

<% if Session("login")<>1 then Response.redirect "login.asp" %>

e in OGNI PAGINA che ha necessità di essere sotto login ci metti all'inzio del file

<!-- #INCLUDE FILE = "checksession.asp" -->

spero di essere stao chiaro..

--
Andrea Palmatè
17 messaggi dal 11 dicembre 2003
Andrea Palmatè ha scritto:
Praticamente se tu non metti un controllo sulla login effettuata o meno se io metto nel browser l'indirizzo della pagina che mi fa inviare l'SMS SENZA passare dalla login l'sms è molto probabile che lo invii senza problemi.
Quindi nella pagina di login dopo che hai controllato che username e password inserisci l'istrizione

Session("login")=1

creati un include che chiami ad esempio checksession.asp

e al suo interno ci metti l'istruzione:

<% if Session("login")<>1 then Response.redirect "login.asp" %>

e in OGNI PAGINA che ha necessità di essere sotto login ci metti all'inzio del file

<!-- #INCLUDE FILE = "checksession.asp" -->

spero di essere stao chiaro..

Mi sembra chiaro, proverò e se avrò altri problemi ti farò sapere.

E vai...
con Aspitalia

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.