![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
jmich |
|
||||||
Новичок Профиль Группа: Участник Сообщений: 25 Регистрация: 18.2.2008 Репутация: нет Всего: нет |
У меня есть сервлет, страница jsp и класс подключения к базе данных.
На странице jsp вводим логин и пароль. Как сделать проверку пароля, логина и id в базе данных? Хочу идентификацию сделать по 3-м параметрам(пароль, логин и id) jsp
|
||||||
|
|||||||
v2v |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1620 Регистрация: 20.9.2006 Где: Киев Репутация: 9 Всего: 56 |
а чего создал тему в разделе j2me ??
делаешь к базе запрос с указанным логином, паролем, ид : если вернуло одну запись : авторизация пройдена, нет - доступ запрещён. |
|||
|
||||
jmich |
|
|||
Новичок Профиль Группа: Участник Сообщений: 25 Регистрация: 18.2.2008 Репутация: нет Всего: нет |
А на примере можно?
PS Да я уже написала модератору, чтобы переместили, ошибочка вышла. |
|||
|
||||
jmich |
|
|||
Новичок Профиль Группа: Участник Сообщений: 25 Регистрация: 18.2.2008 Репутация: нет Всего: нет |
нет вы меня не поняли, мне нужно на странице jsp ввести пароль и логин, потом эти параметры передаю сервлету для проверки существуют ли такие в базе данных. Если да , то сервлет возвращает новую страницу jsp, если нет остается та же страница. |
|||
|
||||
v2v |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1620 Регистрация: 20.9.2006 Где: Киев Репутация: 9 Всего: 56 |
ну стандартная задача.
вместо getPass пишешь метод checkUser куда передаёшь логин , пароль , ид . В методе делаешь запрос
далее анализируешь респонс и делаешь редирект на другую страницу или открываешь эту же. |
|||
|
||||
VOS |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 145 Регистрация: 31.1.2007 Репутация: нет Всего: 8 |
Вариант, предложенный v2v годится в качестве академического примера,
но в реальной жизни его надо использовать крайне осторожно. Например, если введенный пользователем логин будет такой: 1' or 1=1 or 0=0 а пароль любой, например 555 то результирующий SQL запрос примет вид: "SELECT login, password, personne_id FROM personne WHERE login='1' or 1=1 or 0=0 and password='555' " этот запрос будет выполнен успешно и Вам вероятно удастся зайти в систему не зная логина или пароля. Это простой вариант, есть и другие, более изощренные способы атаки. Лучше вызывать хранимую процедуру, или использовать переменные привязки/параметризированные запросы. Т.е. очень опасно динамически создавать строку запроса на основе данных, которые вводит пользователь |
|||
|
||||
W0LF |
|
|||
![]() alexander lonsky ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1164 Регистрация: 9.2.2006 Где: Ukraine.Dnepropet rovsk Репутация: нет Всего: 20 |
в jdbc например юзай PreparedStatement или экранируй все кавычки одинарные
![]() -------------------- iOS developer |
|||
|
||||
v2v |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1620 Регистрация: 20.9.2006 Где: Киев Репутация: 9 Всего: 56 |
sql иньекция ... да это проблема ) .
|
|||
|
||||
jmich |
|
|||
Новичок Профиль Группа: Участник Сообщений: 25 Регистрация: 18.2.2008 Репутация: нет Всего: нет |
я сделала так, но еще не проверила работает или нет...
правильно ли так?
|
|||
|
||||
jmich |
|
|||
Новичок Профиль Группа: Участник Сообщений: 25 Регистрация: 18.2.2008 Репутация: нет Всего: нет |
почему не компилирует, в чем ошибка? |
|||
|
||||
AntonSaburov |
|
|||
![]() Штурман ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5658 Регистрация: 2.7.2002 Где: Санкт-Петербург Репутация: 8 Всего: 118 |
Хорошо бы сообщение об ошибке все-таки писать. А то рыскать по всему коду и запускать его лениво
![]() |
|||
|
||||
jmich |
|
|||
Новичок Профиль Группа: Участник Сообщений: 25 Регистрация: 18.2.2008 Репутация: нет Всего: нет |
нет никаких сообщений об ошибке :(
если сервлет забирает параметры от jsp (пароль, логин, ид) String p = request.getParameter("p"); String l = request.getParameter("l"); String idi = request.getParameter("id"); как мне их получить здесь ?
|
|||
|
||||
ecologist |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 452 Регистрация: 28.2.2007 Репутация: 5 Всего: 9 |
Ну видимо как-то передать из сервлета в экземпляр объекта. Я чтото не врубаюсь в проблему - ну есть сервлет. Так и вызывай из него свой объект с нужными параметрами. И работай на здоровье.
|
|||
|
||||
mbasil |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 399 Регистрация: 4.5.2007 Где: Москва Репутация: 9 Всего: 13 |
Почему бы не использовать BASIC аутентификацию, то есть средствами сервера.
Потому как, если выполнять собственную аутентификацию, то теряем возможность декларативного управления безопасностью. Можно для аутентификации, например, использовать такой фильтр (пример взят у SUN):
Добавлено через 10 минут и 55 секунд Кстати проверку в базе можете делать прямо из фильтра, хотя это нехорошо - надо все-таки начать работать с пулами подключений и источниками данных. Это сообщение отредактировал(а) mbasil - 12.3.2008, 14:33 |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |