Malfunctioning of JSP application

S

Sameer

A JSP application accepts username and password from user.
Username and Passwords are stored in a Oracle database.
It connects to the database and validated username using the passwords
from database.
A user-id is also retrieved from the database and it is being put in a
session variable.
session.putValue("m_use_id", new Integer(m_use_id));
This user id is being used for further operations in the application.

Sometimes it happens that when the user logs into the application
using his username and password he get logged in as the username
having the user-id =1 automatically.

I have checked the code of application and find nothing wrong with the
code for this malfunction.
Can session variable values are being altered in the memory or any
other reason for this malfunctioning?

Any experiences like this?
Any guesses for this malfunctioning?

-Sameer
 
I

impaler

A JSP application accepts username and password from user.
Username and Passwords are stored in a Oracle database.
It connects to the database and validated username using the passwords
from database.
A user-id is also retrieved from the database and it is being put in a
session variable.
session.putValue("m_use_id", new Integer(m_use_id));
This user id is being used for further operations in the application.

Sometimes it happens that when the user logs into the application
using his username and password he get logged in as the username
having the user-id =1 automatically.

I have checked the code of application and find nothing wrong with the
code for this malfunction.
Can session variable values are being altered in the memory or any
other reason for this malfunctioning?

Any experiences like this?
Any guesses for this malfunctioning?

-Sameer


Some code would be helpful. My guess is that something in the code is
wrong.
 
L

Lew

What does "user-id =1" mean?

I.
Problem number one: instance variables in a JSP.
<%!

String mquery;
Statement stmt;
Connection con;
ResultSet rs;

%>

You rarely, if ever, should declare instance variables in a JSP. They can be
shared between people in different sessions and they never know it.

GIYF: Java thread safety.

II.
Problem number two: Fragile SQL statements that can be hacked using SQL
injection, intentionally or accidentally. Someone could read your entire
database with well-known hacks on code like
mquery = "select M_USE_ID, M_PRO_ID from M_USER
where M_USE_LOG='"+login+"' and M_USE_PAS='"+password+"'";

All someone has to do is enter a login name of "a' OR 1=1 --" to get in.

Tsk, tsk.

III.
Problem number three, but probably not related to the problem you are seeing:
System.out.println(mquery);

System.out is the console. What do you call the "console" in a Web app? Far
better to use logging calls.

IV.
Problem number four: So much scriptlet in a JSP! Write Java in .java files,
not .jsp files. Write JSP in JSP files. This is related in the sense that it
increases the likelihood of bugs like yours, and makes it much harder to fix them.

- Lew
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,999
Messages
2,570,243
Members
46,835
Latest member
lila30

Latest Threads

Top