overcloked Posted April 23, 2006 at 04:19 AM Report #23744 Posted April 23, 2006 at 04:19 AM Acho que o assunto diz tudo "Como encriptar o valor de uma variavel de sessão?" Tou a fazer uma sistema de login em ASP, quando o utilizador faz login o "nomeUtilizador" é guardado numa variavel de sessão para que nas outras pagina o servidor saiba se esse cliente é registado ou não. Agora a minha duvida é se enviar o nome de utilizador na variavel de sessão sem encriptação é perigoso? Se sim, como poderei encripta-la? Tks, ?
max Posted April 23, 2006 at 11:13 PM Report #23906 Posted April 23, 2006 at 11:13 PM claro que sem encriptação é perigoso. Imagina: Se eu tivesse acesso a uma cookie não emcriptada do teu site, poderia adulterá-la e fazer as cookies que quisesse e só mudava o login! E aí, tinha acesso a todas as contas. Procura por: "FormsAuthentication Class"
overcloked Posted April 23, 2006 at 11:27 PM Author Report #23909 Posted April 23, 2006 at 11:27 PM max isso só existe em .net ou tb em ASP "normal"? EDIT: bem tive à procura e só encontro mesmo ASP.net, alguem sabe se existe alguma coisa equivalente a isto para ASP?
overcloked Posted April 24, 2006 at 12:07 AM Author Report #23912 Posted April 24, 2006 at 12:07 AM tipo encontrei este snipet no site da m$ <!-- The LoginBtn_Click event handler uses the Authenticate method to check the user name and password entered by the user against the credentials stored in the credential data store. If the username and password are correct as verified by the authentication event handler function, the RedirectFromLoginPage method transfers the user back to the protected resource. The FormsAuthenticationEventHandler Delegate function is not included in this example. --> <%@ Page Language="VB" AutoEventWireup="true" %> <html> <head> <script runat="server"> Sub LoginBtn_Click(sender as Object, e as EventArgs) If Page.IsValid Then ' Call the authentication event handler delegate (not included in this example). If FormsAuthentication.Authenticate(UserName.Text, UserPass.Text) Then ' Return to the originally requested URL. FormsAuthentication.RedirectFromLoginPage(UserName.Text, Remember.Checked) Else Msg.Text = "Invalid Credentials: Please try again" End If End If End Sub </script> </head> <body> <!-- This form gets the user name and password from the user. The LoginBtn_Click event handler is called when the Login button is clicked to authenticate the user. --> <form runat="server"> <h2>Login Page</h2> <hr size="1" /> <table> <tbody> <tr> <td>Username:</td> <td><asp:TextBox id="UserName" runat="server"></asp:TextBox></td> <td><asp:RequiredFieldValidator id="RequiredFieldValidator1" runat="server" ControlToValidate="UserName" Display="Static" ErrorMessage="*"></asp:RequiredFieldValidator></td> </tr> <tr> <td>Password:</td> <td><asp:TextBox id="UserPass" runat="server" TextMode="Password"></asp:TextBox></td> <td><asp:RequiredFieldValidator id="RequiredFieldValidator2" runat="server" ControlToValidate="UserPass" Display="Static" ErrorMessage="*"></asp:RequiredFieldValidator></td> </tr> <tr> <td colspan="3"> <asp:CheckBox id="Remember" runat="server"></asp:CheckBox>Remember credentials?</td> </tr> </tbody> </table> <asp:button id="LoginBtn" onclick="LoginBtn_Click" runat="server" text="Login"></asp:button> <p><asp:Label id="Msg" runat="server" ForeColor="red"></asp:Label></p> </form> </body> </html> mas quando o ponho a correr dá erros: Active Server Pages error 'ASP 0221' Invalid @ Command directive /teste.asp, line 9 The specified 'Page Language="VB" AutoEventWireup="true" ' option is unknown or invalid.
max Posted April 24, 2006 at 01:06 AM Report #23913 Posted April 24, 2006 at 01:06 AM eu n sei se existe em asp... eu só trabalho em asp.net... : ( então não te posso ajudar! mas esse script que arranjaste n é asp.net ?? pah... se começaste com asp à pouco tempo, vira-te para o asp.net. n te vais arrepender. Eu pelo menos em asp n te posso ajudar! Nem sei se o asp funciona com vb. Se te deu esse erro é pq n deve funcionar...
teckV Posted April 24, 2006 at 08:54 AM Report #23928 Posted April 24, 2006 at 08:54 AM os valores guardados em variaveis de sessão estão guardados no servidor... o cookie apenas guarda um ID de sessão que serve para relacionar a sessão no browser com a sessão no servidor... normalmente não se encripta as variaveis de sessão porque só existem no processo da sessão browser/servidor e não estão acessiveis a outros users, pelo menos pelos processos normais...
max Posted April 24, 2006 at 12:37 PM Report #23951 Posted April 24, 2006 at 12:37 PM belo esclarecimento teck. Já aprendi alguma coisa... lol nunca trabalhei com sessões, mas então, tanto faz uma cookie ser encriptada ou não certo? quando eu reentro num site, e tenho um auto login, o que é que eu tinha nas cookies? era só o ID de uma sessão anteiror?
overcloked Posted April 24, 2006 at 04:35 PM Author Report #23978 Posted April 24, 2006 at 04:35 PM Tks teckV, estou esclarecido 😄 max quanto ao asp.net no proximo projecto que fizer quero ver se dou o salto como neste tenho tudo em ASP não vou mudar.
teckV Posted April 24, 2006 at 05:44 PM Report #24002 Posted April 24, 2006 at 05:44 PM os valores das variaveis de sessão não estão nos cookies... estão no servidor... agora se guardas dados mesmo nos cookies a conversa é outra... mas não uses os cookies da forma tradicional... usa o bjecto "session" que tanto exsite em dotNet como no asp antigo... o servidor gere a criação do cookie quando usam sessões.. não precisam de se preocupar com isso... basta declararem uma variavel de sessõa e tudo acontece... EX: session("nome") = "ze" com esta linha o servidor faz todo o processo por voçes... cria a sessão... envia o cookie para o browser (caso usem sessões com cookies, podem usar por url) há tambem o conceito de variáveis de aplicação que são valores partilhados por todas as sessões/users... tipo... se criarem uma variavel que querem que todos os users vejam como por exemplo o nome do site usem a variavel de aplicação aplicattion("siteName") = "nome" não sei se esá bem escrito mas é isso... ? 😛😁 em qualquer parte do site e para qualquer sessão podem aceder a esse valor
overcloked Posted April 24, 2006 at 07:08 PM Author Report #24044 Posted April 24, 2006 at 07:08 PM yap, é isso que tou a usar as variaveis de sessão session("XPTO") 🙂 é application 😕
max Posted April 24, 2006 at 10:14 PM Report #24096 Posted April 24, 2006 at 10:14 PM yap, é isso que tou a usar as variaveis de sessão session("XPTO") 🙂 é application 😕 népia, conforme o teck disse, uma coisa é aplication("xpto") outra cena é session("xpto") A primeira está disponivel para todas as sessões, e todo lado , a outra está disponível só para a tua sessão. Teck, eu costumo pôr datasetes na sessão... é aconselhado? É que ainda são dataset's grandes...
overcloked Posted April 24, 2006 at 10:36 PM Author Report #24100 Posted April 24, 2006 at 10:36 PM sim eu sei a diferença das duas, tava só a dizer como se escreve application que o teck tava na duvida 🙂
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now