• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

overcloked

[ASP] Como encriptar o valor de uma variavel de sessão? [RESOLVIDO]

12 mensagens neste tópico

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,  :ipool:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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"

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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. 

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Tks teckV, estou esclarecido :D

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.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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...  :-[ :P :biggrin:

em qualquer parte do site e para qualquer sessão podem aceder a esse valor

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

yap, é isso que tou a usar as variaveis de sessão session("XPTO") :)

é application :confused:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

yap, é isso que tou a usar as variaveis de sessão session("XPTO") :)

é application :confused:

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...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

sim eu sei a diferença das duas, tava só a dizer como se escreve application  que o teck tava na duvida :)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora