Usuário com melhor resposta
Protegendo a sessão do usuário <sessionState cookieless="UseUri" />

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
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.
- Sugerido como Resposta Helder Lopes - hgolive sexta-feira, 4 de janeiro de 2013 17:58
- Marcado como Resposta Ricardo RussoModerator segunda-feira, 7 de janeiro de 2013 13:00
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!
-
-
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
-
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.
- Sugerido como Resposta Helder Lopes - hgolive sexta-feira, 4 de janeiro de 2013 17:58
- Marcado como Resposta Ricardo RussoModerator segunda-feira, 7 de janeiro de 2013 13:00
-
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
Não esqueça de usar o componente </> na barra para posta seu código. Microsoft MCPD,MCTS,MCC