Olá a todos.
Descobri que basta digitar dados no campo login para que tenha acesso em meu projeto.
E o pior de tudo, que nem precisa ser um login do banco, pode ser um que não exista.
[code]<%–
Document : verificar_login_administracao
Created on : 19/09/2008, 15:19:46
Author : dark123
–%>
<%@page import=“java.sql.*”%>
<%@page contentType=“text/html” pageEncoding=“UTF-8”%>
<%
// captura parâmetros
String sLoginAdm = request.getParameter(“loginadm”);
String sSenhaAdm = request.getParameter(“senhaadm”);
%>
<% // grava sessão ***
session.putValue(“login_adm”, sLoginAdm); //Grava a session com o Login
session.putValue(“senha_adm”, sSenhaAdm); //Grava a session com o Login
%>
<%
Connection connection = null;
try {
String driverName = “org.gjt.mm.mysql.Driver”; // também poderia ser com.mysql.jdbc.Driver
Class.forName(driverName);
String serverName = "localhost";
String mydatabase = "banco";
String url = "jdbc:mysql://" +serverName+ "/" +mydatabase;
String username = "user";
String password = "pass";
connection = java.sql.DriverManager. getConnection(url, username, password);
} catch(ClassNotFoundException cnfex) {
out.println("Não foi possível encontrar o driver: " +cnfex.toString());
} catch (java.sql.SQLException sqlex) {
out.println("Erro ao conectar-se ao banco de dados: " +sqlex.toString());
}
//envia comando de verificação de login
try {
java.sql.Statement stmt = connection.createStatement();
java.sql.ResultSet rs = stmt.executeQuery(“SELECT cod, login, senha, nome FROM administrador “+
“WHERE login =’”+sLoginAdm+”’;”);
// Verifica se o resultset retornou nenhuma linha *****
rs.last();
if (rs.getRow()==0) { //zero linhas
%> <jsp:forward page="login_administracao.jsp" />
<% return;
}
/* Este comando somente retornará no máximo um elemento,
* pois login deve ser um campo UNIQUE ******/
rs.first();
// Verifica se a senha obtida no banco confere com o parâmetro *****
if (!rs.getString("senha").equals(sSenhaAdm)) { // *** senha não confere
%> <jsp:forward page="login_administracao.jsp" />
<%
}
else { // OK, usuário logado!
response.sendRedirect("administracao.jsp");
stmt.close();
connection.close();
}
} catch (java.sql.SQLException sqlex) {
out.println("Erro ao realizar login: " +sqlex.toString());
}
%>[/code]
E antes eu achei que fosse SqlInjection. :shock:
Como eu poderia fazer a checagem da maneira correta?
Obrigado.
[]s.