Findby Login and password Myeclipse Mysql - Java - Programmation
Marsh Posté le 22-10-2012 à 15:40:53
Code :
|
Tu mélanges requête préparée et requête concaténée.
Soit tu fais une requête concaténée (ça marche mais à ne surtout pas faire : tu t'exposes aux attaques par injection SQL !!!):
Code :
|
soit tu écris une requête préparée (la bonne méthode) :
Code :
|
Dans le premier cas (requête concaténée), tu lui donnes la requête toute prête.
Dans le deuxième cas, tu lui donnes une requête préparée puis tu renseignes les paramètres
Le premier cas est très dangereux car si je mets
Code :
|
la requête devient
Code :
|
Hop, je suis loggé en admin, quelque soit le mot de passe que je rentre
Marsh Posté le 23-10-2012 à 09:41:02
De plus, je ne connais pas la syntaxe spécifique à Hibernate mais la virgule entre "user.login=admin" et "user.password=admin" me parait hautement suspecte. J'y mettrais plutôt un "AND" (sinon, comment spécifierait-on un OR?)
Marsh Posté le 03-10-2012 à 14:46:39
bonjour,
j'espère bien que vous m'aider mes amis et merci d'avance.
tout d'abord j’éclaire l'environnement logiciel:
ma base donnée est MYSQL et j’utilise MYEclipse 10 et j'ai intégré les frameworks struts et hibernate
j'ai ajouté une methode qui test le Login et le password findByLoginAddPwd(String login,String pwd) à la classe UserDAO.java qui est déjà généré automatiquement avec myeclipse mais j'ai un erreur de developpement, veuillez bien m'aider merci
voisi le code de UserDAO.java
l'erreur:
javax.servlet.ServletException: org.hibernate.hql.ast.QuerySyntaxException: unexpected token: , near line 1, column 60 [from com.load.hibernate.User as user where user.login=admin,user.password=admin]
org.apache.struts.action.RequestProcessor.processException(RequestProcessor.java:545)
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:486)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
et la classe AuthentificationAction