Jump to content

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


Recommended Posts

Posted

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,  ?

Posted

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"

Posted

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

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

Posted

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

Posted

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?

Posted

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

Posted

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

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.