none
Protegendo a sessão do usuário <sessionState cookieless="UseUri" /> RRS feed

  • Pergunta

  • Bom dia,

    estou com o seguinte problema, no sistema em que estou trabalhando a sessão é armazenada na URL conforme exemplo:

    http:// exemplo.com.br/(S(3fdfds324fwfwe3))/pagina.aspx

    O problema é que se um usuário por exemplo, Usuário A copiar a URL e enviar por mensagem para o Usuário B o usuario B consegue abrir o sistema como se fosse o usuário A. Alguem sabe alguma forma de resolver este problema?

    Observação: no Web.Config a configuração é a seguinte: <sessionState cookieless="UseUri"> e não pode ser alterada.

    
    
    
    
    

    Atenciosamente,

    Wanderson

    sexta-feira, 28 de dezembro de 2012 10:07

Respostas

  • Olá Wanderson,

    Desse jeito, qualquer um pode fazer sequestro de sessão. Aparentemente você esta estar usando seu próprio controle de Login.

    Como você falou que não pode ser alterada ai fica difícil. utilizando Cookies é mais seguro.

    att.

    sexta-feira, 28 de dezembro de 2012 11:19
    Moderador

Todas as Respostas

  •   Caro, Wanderson!

    Talvez um colega mais experiênte possa ajudar. O que eu geralmente faço é pegar os dados do usuario logado no page load. Se ele nao estiver autenticado faço voltar para a pagina de login por exemplo.

    protected void Page_Load(object sender, EventArgs e)
        {

            if (User.Identity.IsAuthenticated == (false))
            {
                //Response.redirect("");
                Response.Redirect("~/Default.aspx");
            }

     String strValorSession = Page.User.Identity.Name;
            Label_Usuario.Text = strValorSession;

    }

    BELE!


    sexta-feira, 28 de dezembro de 2012 10:47
  • Não armazene a sessão na URL pelo amor de Deus!

    Júnior Pacheco

    sexta-feira, 28 de dezembro de 2012 11:01
  • Bom dia, você pode por o seguinte no web.config:

    <system.web>
    		<authentication mode="Forms">
    			<forms name="Login" loginUrl="logar.aspx" />
    		</authentication>
    	</system.web>
    <location path="login-pagina.aspx">
    		<system.web>
    			<authorization>
    				<deny users="?" />
    			</authorization>
    		</system.web>
    	</location>

    De uma pesquisada no google sobre autenticação asp.net, tem bastante conteúdo sobre o assunto...


    Se ajudou não esqueça de marcar como útil =) Alan Bruno Heil

    sexta-feira, 28 de dezembro de 2012 11:05
  • Olá Wanderson,

    Desse jeito, qualquer um pode fazer sequestro de sessão. Aparentemente você esta estar usando seu próprio controle de Login.

    Como você falou que não pode ser alterada ai fica difícil. utilizando Cookies é mais seguro.

    att.

    sexta-feira, 28 de dezembro de 2012 11:19
    Moderador
  • Bom dia,

    estou com o seguinte problema, no sistema em que estou trabalhando a sessão é armazenada na URL conforme exemplo:

    http:// exemplo.com.br/(S(3fdfds324fwfwe3))/pagina.aspx

    O problema é que se um usuário por exemplo, Usuário A copiar a URL e enviar por mensagem para o Usuário B o usuario B consegue abrir o sistema como se fosse o usuário A. Alguem sabe alguma forma de resolver este problema?

    Observação: no Web.Config a configuração é a seguinte: <sessionState cookieless="UseUri"> e não pode ser alterada.

    
    
    
    
    

    Atenciosamente,

    Wanderson

    Cara nunca faça isso n tem motivo de vc deixar o code da session na url

    Não esqueça de usar o componente </> na barra para posta seu código. Microsoft MCPD,MCTS,MCC

    segunda-feira, 7 de janeiro de 2013 12:21
    Moderador