Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

DouglasCar

Tela de login

Recommended Posts

Pessoal estou com um problema em minha tela de login, tenho as seguintes telas:

Para pedir usuário e senha:

<html><head><title> Login de Usuario </title></head><body><form action="login.jsp" method="post"><table align="center" border="3" cellPadding="2" cellSpacing="3" width="30%" height="25">	<tr>            <td align="center" class="td_cinza" width="50%">  <b>Usuário:</b> </td>            <td align="center" class="td_cinza" width="50%">  <input type="text" name="usuario" size="16"><font size="1"> </font></td>	</tr>	<tr>            <td align="center" class="td_cinza" width="50%">  <b>Senha:</b> </td>            <td align="center" class="td_cinza" width="50%">  <input type="password" name="senha" size="16"><font size="1"> </font></td>	</tr>	</table><table align="center" border="0" cellPadding="2" cellSpacing="3" width="30%" height="25">	<tr>  <td align="center" class="td_cinza" width="50%">  <input type="submit" name="enviar" value="Entrar"></td>  <td align="center" class="td_cinza" width="50%">  <input type="button" name="sair" value="Sair" onclick="window.close()"></td>	</tr></table></form></body></html>
E para verificar o usuário e a senha:

<%@page import = "java.sql.*"%><%@page import="java.lang.*"%><%@page import = "java.util.*"%><%@page import="conexao.*"%><%@page import="java.text.*"%><html><head><title> Login de Usuario </title></head><body><%Conexao conexao = new Conexao();Connection conn = null;PreparedStatement pstmt = null;conn = conexao.getConnection();String SQL = "";String usuario = request.getParameter("usuario");String senha = request.getParameter("senha");SQL  = " SELECT codusuario, nomeusuario from usuario";SQL  +=" where nomeusuario='"+usuario+"' and senha='"+senha+"'";pstmt = conn.prepareStatement(SQL);ResultSet rs = pstmt.executeQuery();try{    if (rs.next()){        String id = rs.getString(1);        String usuario1 = rs.getString(2);            session.putValue("usuario",usuario);            response.sendRedirect("listagem.jsp?consulta=grupos");            %>            <script>            function envia(){                //document.login.submit();            }            envia();            </script>            <%    }    else{%>            <td align="center"><font size="4" color="#AA0000">Usuário não cadastrado!</font></td>            <script language="Javascript"><!--                var timer = 2;                function countdown(){                    if(timer > 0){                        timer -= 1;                        setTimeout("countdown()",1000);                    }                    else{                          location.href='index.jsp';                    }                }                countdown();                --></script>                <%        }}catch (Exception e) {    //out.println("Não foi possível conectar ao banco" + e.getMessage());}finally{    try{        pstmt.close();        conn.close();    }catch (Exception e){        e.printStackTrace();    }}%></body></html>
Acontece que verifiquei que utilizando o seguinte comando: (nomeusuario'--) dentro do usuário da tela de login ele permite entrar no sistema sem a necessidade de digitar a senha, tornando o sistema bastante vulnerável. Gostaria de que me déssem uma dica de como resolver este problema, obrigando o usuário a digitar uma senha e com isso tornando o comando (nomeusuario'--) sem efeito. Agradeço se alguém puder me dar uma dica.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fala meu chapa. Faz o seguinte:Primeiro faz um javascript que não permita a entrada do caracter plics (no onchange de preferência).Segundo: se o cara conseguir entrar com plics no campo você faz o seguinte:String usuario = request.getParameter("usuario");usuario = usuario.replaceAll("'", "''");/*replace de plics por duplo-plics*/String senha = request.getParameter("senha");senha = senha.replaceAll("'", "''");/*replace de plics por duplo-plics*/Daí sim, você pode fazer seu sql com segurança.Abraço e até a próxima.Marcelo Barbosa

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fala meu chapa. Faz o seguinte:Primeiro faz um javascript que não permita a entrada do caracter plics (no onchange de preferência).

Dae....O usuário mal intencionado pode usar o famoso CTRL+V para inserir tais caracteres, por isso use sempre uma validação na pagina que irá receber as informações de um form anterior.portanto esta é uma solução muito utilizada....

Segundo: se o cara conseguir entrar com plics no campo você faz o seguinte:String usuario = request.getParameter("usuario");usuario = usuario.replaceAll("'", "''");/*replace de plics por duplo-plics*/String senha = request.getParameter("senha");senha = senha.replaceAll("'", "''");/*replace de plics por duplo-plics*/Daí sim, você pode fazer seu sql com segurança.

Soh pra comentar..... :P Cezar B.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.