Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / запрос в БД / 20 сообщений из 20, страница 1 из 1
17.09.2014, 07:09
    #38748668
Елдос
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запрос в БД
доброе утро!
при запросе в БД, данные не приходят.
Код: java
1.
2.
3.
            rs = stmt.executeQuery("SELECT * " +
                    "FROM TADMIN " +
                    "WHERE FIO= '" + name + "' AND password= '" + password + "'");



ничего не зашифровано(пока что), через sql developer обрабатывает,
...
Рейтинг: 0 / 0
17.09.2014, 07:09
    #38748669
Елдос
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запрос в БД
Елдосдоброе утро!
при запросе в БД, данные не приходят.
Код: java
1.
2.
3.
            rs = stmt.executeQuery("SELECT * " +
                    "FROM TADMIN " +
                    "WHERE FIO= '" + name + "' AND password= '" + password + "'");



ничего не зашифровано(пока что), через sql developer обрабатывает,
правильно ли написал запрос
...
Рейтинг: 0 / 0
17.09.2014, 07:11
    #38748671
Basil A. Sidorov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запрос в БД
Сомневаетесь - логируйте процесс обработки
...
Рейтинг: 0 / 0
17.09.2014, 07:35
    #38748678
Елдос
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запрос в БД
Basil A. SidorovСомневаетесь - логируйте процесс обработки
я записываю туда новые данные обычным запросом,
а с ними она почему то не работает,
есть старые учетные записи, которые сервлет оттуда вытаскивает,
но вот те учетные записи которые я занес можно вывести в sqldeveloper но вот сервлет не хочет их видеть
БД и учетная запись от БД одна и та же.
...
Рейтинг: 0 / 0
17.09.2014, 07:42
    #38748680
Basil A. Sidorov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запрос в БД
Склейте строку и сделайте log(строка), чтобы увидеть свой запрос на консоли контейнера и/или в его логе.
Опционно подумайте, что будет если кто-то изменит пароль пользователя в базе. Хотя бы тот же SQLDeveloper.
...
Рейтинг: 0 / 0
17.09.2014, 07:47
    #38748683
вадя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запрос в БД
ЕлдосBasil A. SidorovСомневаетесь - логируйте процесс обработки
я записываю туда новые данные обычным запросом,
а с ними она почему то не работает,
есть старые учетные записи, которые сервлет оттуда вытаскивает,
но вот те учетные записи которые я занес можно вывести в sqldeveloper но вот сервлет не хочет их видеть
БД и учетная запись от БД одна и та же.

надо научиться локализовывать ошибки.
Код: java
1.
2.
3.
  rs = stmt.executeQuery("SELECT * " +
                    "FROM TADMIN " +
                    "WHERE FIO= '" + name + "' AND password= '" + password + "'");



тут, к примеру , ты уверен что name и password утебя нужные?
...
Рейтинг: 0 / 0
17.09.2014, 07:47
    #38748684
Елдос
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запрос в БД
Basil A. SidorovСклейте строку и сделайте log(строка), чтобы увидеть свой запрос на консоли контейнера и/или в его логе.
Опционно подумайте, что будет если кто-то изменит пароль пользователя в базе. Хотя бы тот же SQLDeveloper.

Код: javascript
1.
           rs = stmt.executeQuery("SELECT * FROM TADMIN WHERE USERID = '" + name + "'");


даже запрос только имени не выдает новые записи, а старые выдает,
я не знаю как можно сделать лог строку. я вижу значение в name и оно правильное, даже копировал из sql developer,
...
Рейтинг: 0 / 0
17.09.2014, 07:48
    #38748686
вадя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запрос в БД
а так что выдаст?
Код: java
1.
 rs = stmt.executeQuery("SELECT * FROM TADMIN WHERE USERID = имя");



вместо имя - реальное значение
...
Рейтинг: 0 / 0
17.09.2014, 07:51
    #38748687
вадя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запрос в БД
сделай точку останова на этой строкеи посмотри что за строка у тебя сформирована
...
Рейтинг: 0 / 0
17.09.2014, 07:54
    #38748691
Елдос
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запрос в БД
вадяа так что выдаст?
Код: java
1.
 rs = stmt.executeQuery("SELECT * FROM TADMIN WHERE USERID = имя");



вместо имя - реальное значение
Код: java
1.
            rs = stmt.executeQuery("SELECT * FROM TADMIN WHERE FIO = usname");


java.sql.SQLException: ORA-00904: "USNAME": недопустимый идентификатор
...
Рейтинг: 0 / 0
17.09.2014, 07:54
    #38748692
Елдос
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запрос в БД
вадясделай точку останова на этой строкеи посмотри что за строка у тебя сформирована
как сделать точку остановы
...
Рейтинг: 0 / 0
17.09.2014, 08:02
    #38748697
Basil A. Sidorov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запрос в БД
Елдосдаже запрос только имени не выдает новые записи 8912325
На второй строке - ключевое слово "commit".
...
Рейтинг: 0 / 0
17.09.2014, 08:09
    #38748699
Елдос
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запрос в БД
Basil A. SidorovЕлдосдаже запрос только имени не выдает новые записи 8912325
На второй строке - ключевое слово "commit".
да получилось, большое спасибо,
это типа применить изменения, а если не применять они не изменятся или не видны кому то
...
Рейтинг: 0 / 0
17.09.2014, 08:28
    #38748713
вадя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запрос в БД
Код: java
1.
   rs = stmt.executeQuery("SELECT * FROM TADMIN WHERE FIO = usname");



нуууууу, азы надо знать

Код: java
1.
 rs = stmt.executeQuery("SELECT * FROM TADMIN WHERE FIO = 'Сидоров'");



тыж не в блокноте пишешь, в IDE есть средство отладки - там и делаются точки останова, пошаговые выполнения, просмотры переменных, наблюдения за значениями.
ну и правила работы с базами надо соблюдать. в mysql - автокоммит по умолчанию стоит.
...
Рейтинг: 0 / 0
17.09.2014, 11:22
    #38748894
Елдос
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запрос в БД
вадя
Код: java
1.
   rs = stmt.executeQuery("SELECT * FROM TADMIN WHERE FIO = usname");



нуууууу, азы надо знать

Код: java
1.
 rs = stmt.executeQuery("SELECT * FROM TADMIN WHERE FIO = 'Сидоров'");



тыж не в блокноте пишешь, в IDE есть средство отладки - там и делаются точки останова, пошаговые выполнения, просмотры переменных, наблюдения за значениями.
ну и правила работы с базами надо соблюдать. в mysql - автокоммит по умолчанию стоит.
знаю как это делать когда делаешь обычную программу, но не получается в сервлетах
...
Рейтинг: 0 / 0
17.09.2014, 11:45
    #38748939
Alexey Tomin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запрос в БД
Елдосдоброе утро!
при запросе в БД, данные не приходят.
Код: java
1.
2.
3.
            rs = stmt.executeQuery("SELECT * " +
                    "FROM TADMIN " +
                    "WHERE FIO= '" + name + "' AND password= '" + password + "'");



ничего не зашифровано(пока что), через sql developer обрабатывает,

А если у человека пароль x' or '1'='1 то находит что-нибудь?
...
Рейтинг: 0 / 0
17.09.2014, 12:43
    #38748997
Андрей Панфилов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запрос в БД
Alexey Tomin,

да достаточно иметь fio "admin'; --"
...
Рейтинг: 0 / 0
17.09.2014, 12:47
    #38749007
Елдос
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запрос в БД
Alexey TominЕлдосдоброе утро!
при запросе в БД, данные не приходят.
Код: java
1.
2.
3.
            rs = stmt.executeQuery("SELECT * " +
                    "FROM TADMIN " +
                    "WHERE FIO= '" + name + "' AND password= '" + password + "'");



ничего не зашифровано(пока что), через sql developer обрабатывает,

А если у человека пароль x' or '1'='1 то находит что-нибудь?
да проходит, но так не должно же быть, у меня стоит фильтрация,
Код: java
1.
2.
3.
4.
            if(name != null && name.matches("[a-zA-Z0-9]+")) {
                out.println(name + password);
                rs = stmt.executeQuery("SELECT * FROM TADMIN WHERE FIO = '" + name + "' and USERID = '" + password + "'");
            }


а почему же она проходит фильтрацию так еще и авторизуется
...
Рейтинг: 0 / 0
17.09.2014, 12:53
    #38749013
Елдос
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запрос в БД
Код: java
1.
2.
3.
4.
            if(name != null && name.matches("[a-zA-Z0-9]+") && name.matches("[a-zA-Z0-9]+")) {
  
                rs = stmt.executeQuery("SELECT * FROM TADMIN WHERE FIO = '" + name + "' and USERID = '" + password + "'");
            }
...
Рейтинг: 0 / 0
17.09.2014, 12:56
    #38749020
Елдос
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запрос в БД
Код: java
1.
2.
3.
4.
            if(name != null && name.matches("[a-zA-Z0-9]+") && password.matches("[a-zA-Z0-9]+")) {

                rs = stmt.executeQuery("SELECT * FROM TADMIN WHERE FIO = '" + name + "' and USERID = '" + password + "'");
            }


Исправил спасибо
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / запрос в БД / 20 сообщений из 20, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]