none
Cotrole de acesso RRS feed

  • Pergunta

  • Pessoal

     

    Estou fazendo um site com ASP e SQL que tem uma area restrita a usuarios cadastrador, então criei a area de login e a pagina que verifica usuario e senha.

    Se tudo tiver ok ele gera variaveis de SESSÃO para identificar que o usuario esta logado.

     

    Na pagina que verifica usuario e senha:

     

    sql="SELECT usuario.* FROM usuario WHERE usr = '" & vUSR & "' AND psw = '" & vPWS & "'"

    Set Rs = Server.CreateObject("ADODB.Recordset")
    Rs.Open inst_sql, conn, 3, 3

     

    IF Rs.RecordCount = 0 Then
     response.Redirect "login.asp?Msg=1"
    ELSE
           Session("LOGADO") = "ON"
    End If
          

     

    Nas paginas do site eu começo com este teste para verificar se o usuario esta logado...

     

    <%
    IF Session("LOGADO") <> "ON" OR Session("LOGADO") = "" THEN
       response.Redirect "logar.asp?Msg=1"
       Response.End
    ELSE %>

    Pessoal tem algum problema de segurança usar variaveis SESSION para verificar se o usuario esta logado?
    quinta-feira, 24 de julho de 2008 15:34

Todas as Respostas

  • Rogerio, nunca tive problemas, mas entanto, alguns dados que transmito pelas sessions de logon sao criptografadas e também o site nao é tao visado por hackers, pelo menos eu acho.

    Abaixo segue uma matéria sobre isso de uma olhada.

     

    http://www.baboo.com.br/absolutenm/templates/content.asp?articleid=6585&zoneid=24&resumo=

     

    Creio que se voce criptografar as informaçoes também seria uma segurança a mais, segue matéria sobre criptografia.

     

    http://forum.imasters.uol.com.br/index.php?showtopic=126822

     

    Abraços

     

    Estevam

     

    quinta-feira, 24 de julho de 2008 16:02
  •  

    Olá Rogério,

    nunca tive problemas, aliás, acredito que esta seja a solução mais correta no seu caso.

    Acrescentando à resposta do Luiz, é bastante importante sempre proteger suas páginas do Sql Injection, uma falha bastante antiga mas que até hoje perturba alguns sites da web.

     

    Att,

    Felippe Medeiros. 

    segunda-feira, 28 de julho de 2008 18:13
  • Rogerio nao tem problema algum, visto que roubar uma Session uma invasor teria que atacar o servidor, e convenhamos não é la uma tarefa facil.
    sexta-feira, 1 de agosto de 2008 20:26
  • A falha de segurança não está na utilização de sessions para verificar se o usuário está logado ou não, a vulnerabilidade está na forma como vc está validando o usuário no banco.

    Essa string SQL pode ser facilmente quebrada por uma SQL Injection... se você está utilizando um banco Sql Server eu te recomdaria criar uma stored procedure e no asp a utlização do do objeto ADODB.Command somada a implementãçao de parâmetros tipados e com o limite de caracteres restrito aos campos de usuário e senha no banco

     

    domingo, 10 de agosto de 2008 05:03