Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Java Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 .. 4 5 6 7 8 [9] 10 11 12 13 .. 134   вперед  Ctrl
 Re: Где взять опыт?)  [new]
asv79
Member

Откуда: Тверь
Сообщений: 2692
Озверин
asv79
пропущено...

Ну давайте прочитаем что вы написали
" пользователь обозвался "'; --" как по вашему, что дальше произойдет? Да фиг с ним, пусть пользователь не какер, а просто у него в имени одинарная кавычка.

Ну вот ваши слова ?
Я обозвал пользователя и с кавычками,с дефисами и прочее и ничего не произошло,программа отработала без проблем.
Ну честно я за адекватную критику )


вам надо с вадей обсуждать - вы где то на одном уровне понимания проблематики и того, чего от вас хотят. Вам указали на то, что у вас проблемы с манерами, немолодой человек ;)
Насчет sql иьекций, тоже отправлю вас: https://google.gik-team.com/?q=sql injection simple example

Мы вилимо на разном русском говорим,я вижу что человек говорит если будут кавычки или дефисы в имени польщователя то произойдет что то страшное,я потестил и ничего не произошло,может конечно там между строк скрытый смысл-я отдам своему другу на филологическую экспертизу)
27 мар 19, 12:46    [21844935]     Ответить | Цитировать Сообщить модератору
 Re: Где взять опыт?)  [new]
mayton
Member

Откуда: loopback
Сообщений: 42851
вадя
mayton
Озверин прав вобщемто. Самая главная проблема что рефлексия противоречит ООП.
это не означает необходимость использования портянок if/case

Я говорю безотносительно нашего обсуждаемого Телеграм-Бота.
Если у меня в принципе возникает задача создания машинно-ориентированного кода
(это switch() { case .... } где кейсов сто тыщ - типично для парсеров)
то я пишу отдельный плагин кодо-генерации. Добавляю в проект
модуль где классы аннотируются @Generated и создаю свой
собственный DSL + генератор кода который описывает предметную область.
Обычно это просто json-документ где все эти кейсы есть.

@Generated-код по другому смотрится Сонаром и к нему совершенно другие
требования. Команда знает что код создан роботом и вручную он никогда
не фиксится.

Но эта практика для очень больших EE проектов и в данном случае
для телеграм-бота ее применять не стоит. Здесь просто цифры не те.
27 мар 19, 12:46    [21844938]     Ответить | Цитировать Сообщить модератору
 Re: Где взять опыт?)  [new]
Озверин
Member

Откуда: Ростов-на-Дону
Сообщений: 5183
вадя
Озверин
еще раз, от них можно избавить БЕЗ рефлексии.
пример?


так надо пример от чего избавляемся
27 мар 19, 12:48    [21844941]     Ответить | Цитировать Сообщить модератору
 Re: Где взять опыт?)  [new]
Озверин
Member

Откуда: Ростов-на-Дону
Сообщений: 5183
Озверин
вадя
пропущено...
пример?


так надо пример от чего избавляемся


один из примеров уже был в этой теме: 21844400
27 мар 19, 12:54    [21844950]     Ответить | Цитировать Сообщить модератору
 Re: Где взять опыт?)  [new]
вадя
Member

Откуда: Екатеринбург
Сообщений: 16778
mayton
Я говорю безотносительно нашего обсуждаемого Телеграм-Бота.
я так же.
у меня есть страница сколько на ней будет обращений к серверу - не известно, каждое обращение -это вызов своего метода с передачей в него данных. для каждой страницы свой класс с методами .
любая страница может разрабатываться отдельно. класс обрабатывающий сообщения от клиента один , написан однажды и не трогается никогда, в рантайме в синглтоне происходит сбор методов в мапу имя_метода-полный_путь_до_метода.
сколько будет методов/страниц/классов с методами - не известно.
27 мар 19, 12:57    [21844955]     Ответить | Цитировать Сообщить модератору
 Re: Где взять опыт?)  [new]
вадя
Member

Откуда: Екатеринбург
Сообщений: 16778
Озверин
один из примеров уже был в этой теме: 21844400
по большому счёту - яйца те же , вид с боку.
27 мар 19, 12:59    [21844958]     Ответить | Цитировать Сообщить модератору
 Re: Где взять опыт?)  [new]
Лысый дядька
Member

Откуда:
Сообщений: 356
вадя
я так же.
у меня есть страница сколько на ней будет обращений к серверу - не известно, каждое обращение -это вызов своего метода с передачей в него данных. для каждой страницы свой класс с методами .
любая страница может разрабатываться отдельно. класс обрабатывающий сообщения от клиента один , написан однажды и не трогается никогда, в рантайме в синглтоне происходит сбор методов в мапу имя_метода-полный_путь_до_метода.
сколько будет методов/страниц/классов с методами - не известно.


Самое время начать в очередной раз плевать какахами в спринрг. Конечно же, пометить нужные методы аннотациями - это ужас говнокод, не то что у тебя!
27 мар 19, 13:00    [21844962]     Ответить | Цитировать Сообщить модератору
 Re: Где взять опыт?)  [new]
Лысый дядька
Member

Откуда:
Сообщений: 356
вадя
я так же.
у меня есть страница сколько на ней будет обращений к серверу - не известно, каждое обращение -это вызов своего метода с передачей в него данных. для каждой страницы свой класс с методами .
любая страница может разрабатываться отдельно. класс обрабатывающий сообщения от клиента один , написан однажды и не трогается никогда, в рантайме в синглтоне происходит сбор методов в мапу имя_метода-полный_путь_до_метода.
сколько будет методов/страниц/классов с методами - не известно.


Самое время начать в очередной раз плевать какахами в спринрг. Конечно же, пометить нужные методы аннотациями - это ужас говнокод, не то что у тебя!
27 мар 19, 13:01    [21844964]     Ответить | Цитировать Сообщить модератору
 Re: Где взять опыт?)  [new]
Озверин
Member

Откуда: Ростов-на-Дону
Сообщений: 5183
вадя
Озверин
один из примеров уже был в этой теме: 21844400
по большому счёту - яйца те же , вид с боку.


-этот код поддается рефакторингу стандартными средствами
-этот код хотя бы ЧИТАЕМ
-ошибка ловятся на этапе компиляции

Он может быть хорош или плох , но в сравении с использованием рефлексии - он великолепен
27 мар 19, 13:01    [21844966]     Ответить | Цитировать Сообщить модератору
 Re: Где взять опыт?)  [new]
вадя
Member

Откуда: Екатеринбург
Сообщений: 16778
Озверин
Он может быть хорош или плох , но в сравении с использованием рефлексии - он великолепен
это твоё мнение, всего лишь....
27 мар 19, 13:07    [21844982]     Ответить | Цитировать Сообщить модератору
 Re: Где взять опыт?)  [new]
вадя
Member

Откуда: Екатеринбург
Сообщений: 16778
Озверин
-этот код хотя бы ЧИТАЕМ
что ты не мог прочитать в трёх строчках
 cl = Class.forName(Singleton.ListCommand.get(command_).getClass().getName());
   method = cl.getMethod(command_, java.lang.String.class, Session.class);
   method.invoke(Singleton.ListCommand.get(command_), data_, userSession);


Озверин
-ошибка ловятся на этапе компиляции
какие ошибки?
27 мар 19, 13:10    [21844987]     Ответить | Цитировать Сообщить модератору
 Re: Где взять опыт?)  [new]
Озверин
Member

Откуда: Ростов-на-Дону
Сообщений: 5183
вадя
Озверин
-этот код хотя бы ЧИТАЕМ
что ты не мог прочитать в трёх строчках
 cl = Class.forName(Singleton.ListCommand.get(command_).getClass().getName());
   method = cl.getMethod(command_, java.lang.String.class, Session.class);
   method.invoke(Singleton.ListCommand.get(command_), data_, userSession);


Озверин
-ошибка ловятся на этапе компиляции
какие ошибки?


это самые три непонятные строчки в моей жизни. В них - ничего не понятно. Чисто функционально - понятно,что происходит..но понять бизнес логику или что куда из них - невозможно.

в 10й раз - ошибки рефакторинга: изменение имени метода, сигнатуры метода, чего угодно метода. Непонятно, есть ли у методы checked exception`ы, примитивно даже нельзя перейти в метод и посмотреть, что он там делает. Я понимаю, что ты пишешь проект так, что после тебя - хоть потоп...но в мире немного иные подходы.
27 мар 19, 13:15    [21844996]     Ответить | Цитировать Сообщить модератору
 Re: Где взять опыт?)  [new]
вадя
Member

Откуда: Екатеринбург
Сообщений: 16778
Озверин
Непонятно
если тебе не понятно, это не означает, что другим не понятно.
Озверин
есть ли у методы checked exception`ы, примитивно даже нельзя перейти в метод и посмотреть, что он там делает. Я понимаю, что ты пишешь проект так, что после тебя - хоть потоп...но в мире немного иные подходы.
ещё раз повторюсь "... не читал, но осуждаю..." это видимо диагноз.... (без обид)
27 мар 19, 13:28    [21845009]     Ответить | Цитировать Сообщить модератору
 Re: Где взять опыт?)  [new]
andreykaT
Member

Откуда:
Сообщений: 2427
asv79
Озверин
пропущено...


вам надо с вадей обсуждать - вы где то на одном уровне понимания проблематики и того, чего от вас хотят. Вам указали на то, что у вас проблемы с манерами, немолодой человек ;)
Насчет sql иьекций, тоже отправлю вас: https://google.gik-team.com/?q=sql injection simple example

Мы вилимо на разном русском говорим,я вижу что человек говорит если будут кавычки или дефисы в имени польщователя то произойдет что то страшное,я потестил и ничего не произошло,может конечно там между строк скрытый смысл-я отдам своему другу на филологическую экспертизу)

он тебе говорит что юзер вместо имени может вбить скл код, который скажем, дропнет тебе таблицу юзеров. юзай преперед стейтменты. всегда. никогда не собирай строку сам.
27 мар 19, 13:37    [21845025]     Ответить | Цитировать Сообщить модератору
 Re: Где взять опыт?)  [new]
asv79
Member

Откуда: Тверь
Сообщений: 2692
andreykaT
asv79
пропущено...

Мы вилимо на разном русском говорим,я вижу что человек говорит если будут кавычки или дефисы в имени польщователя то произойдет что то страшное,я потестил и ничего не произошло,может конечно там между строк скрытый смысл-я отдам своему другу на филологическую экспертизу)

он тебе говорит что юзер вместо имени может вбить скл код, который скажем, дропнет тебе таблицу юзеров. юзай преперед стейтменты. всегда. никогда не собирай строку сам.

Аа теперь понянто.Только врядли это дропнет базу ,primary key у меня Id ,которое тянется из телеги и пользователь ничего там поменять сам нк может а поле name я сделал nullable ,тоесть если в теории имя польщователя это SQL запрос то оно просто не запишется в базу,тем не менее аользователь сам в базе будет просто нейм=null.
Проверил 'select * from users where id=1'
База не упала.

Но сама коцепция ясна- убирать спец символы из имени перед отправкой в базу.
Вот ведь можно же спокойно общаться,а то сразу дураком называют)
27 мар 19, 14:13    [21845089]     Ответить | Цитировать Сообщить модератору
 Re: Где взять опыт?)  [new]
mayton
Member

Откуда: loopback
Сообщений: 42851
вадя
mayton
Я говорю безотносительно нашего обсуждаемого Телеграм-Бота.
я так же.
у меня есть страница сколько на ней будет обращений к серверу - не известно, каждое обращение -это вызов своего метода с передачей в него данных. для каждой страницы свой класс с методами .
любая страница может разрабатываться отдельно. класс обрабатывающий сообщения от клиента один , написан однажды и не трогается никогда, в рантайме в синглтоне происходит сбор методов в мапу имя_метода-полный_путь_до_метода.
сколько будет методов/страниц/классов с методами - не известно.

Ты говоришь о Spring-Boot приложении?
27 мар 19, 14:22    [21845100]     Ответить | Цитировать Сообщить модератору
 Re: Где взять опыт?)  [new]
mayton
Member

Откуда: loopback
Сообщений: 42851
вадя
Озверин
Он может быть хорош или плох , но в сравении с использованием рефлексии - он великолепен
это твоё мнение, всего лишь....

Это вопрос парадигм разработки. В строгих функциональных например - практически никогда
нельзя получить NPE или ClassCastException. За это конечно уплачена своя цена. На этих языках
иногда тяжелее писать. Хотя ошибок там меньше.

Но в последнее время Java разработка тяготеет к БОЛЬШЕЙ строгости. В язык вводятся
сущности мира ФП. Например появились линки на метод объекта. Метод класса. Которые
по идее должны закрепить Streams как основной метод обработки списков и дать
оптимизатору больше информации.

Вобщем беря во внимание этот тренд - Java тяготеет к повышению строгости кода.
Либерализм с типами как JavaScript уходит в прошлое.
27 мар 19, 14:28    [21845114]     Ответить | Цитировать Сообщить модератору
 Re: Где взять опыт?)  [new]
mayton
Member

Откуда: loopback
Сообщений: 42851
asv79
Озверин
пропущено...


вам надо с вадей обсуждать - вы где то на одном уровне понимания проблематики и того, чего от вас хотят. Вам указали на то, что у вас проблемы с манерами, немолодой человек ;)
Насчет sql иьекций, тоже отправлю вас: https://google.gik-team.com/?q=sql injection simple example

Мы вилимо на разном русском говорим,я вижу что человек говорит если будут кавычки или дефисы в имени польщователя то произойдет что то страшное,я потестил и ничего не произошло,может конечно там между строк скрытый смысл-я отдам своему другу на филологическую экспертизу)

Везде где идёт конкатенация строк в SQL выражение и везде где пользователь может
влиять на это выражение есть потенциальная угроза хакерской атаки. Например
если закрыть кавычку то потенциально можно вставить вместо имени свой собственный
SQL код который выполнится у вас в базе. Какой будет результат - трудно сказать.
Зависит от тип DBMS и от изощренности того пацана на другом конце атаки.
Но в любом случае такой код признают опасным и не рекомендуют к применению.

Практика показывает что дешевле защитить все потенциальные места чем потом огребать
и интернетах списки своих-же пользователей с паролями.

А это репутация...
27 мар 19, 14:48    [21845128]     Ответить | Цитировать Сообщить модератору
 Re: Где взять опыт?)  [new]
вадя
Member

Откуда: Екатеринбург
Сообщений: 16778
mayton
Ты говоришь о Spring-Boot приложении?
о простом jsp
27 мар 19, 14:53    [21845135]     Ответить | Цитировать Сообщить модератору
 Re: Где взять опыт?)  [new]
mayton
Member

Откуда: loopback
Сообщений: 42851
вадя
mayton
Ты говоришь о Spring-Boot приложении?
о простом jsp

Рефлексия в jsp?
27 мар 19, 16:15    [21845233]     Ответить | Цитировать Сообщить модератору
 Re: Где взять опыт?)  [new]
вадя
Member

Откуда: Екатеринбург
Сообщений: 16778
mayton
Рефлексия в jsp?
ну не в самом jsp ...
jsp как основа. а вот обработка ws
27 мар 19, 16:19    [21845234]     Ответить | Цитировать Сообщить модератору
 Re: Где взять опыт?)  [new]
mayton
Member

Откуда: loopback
Сообщений: 42851
Ну покажи пример что ты там рефлексируешь в WS. Может там есть варианты...
27 мар 19, 16:21    [21845235]     Ответить | Цитировать Сообщить модератору
 Re: Где взять опыт?)  [new]
вадя
Member

Откуда: Екатеринбург
Сообщений: 16778
mayton
Ну покажи пример что ты там рефлексируешь в WS. Может там есть варианты...
всё просто, я уже много раз показывал
    @OnMessage
    public void OnMessage(String data, Session userSession) {
        matcher = command.matcher(data);
        matcher.find();
        String command_ = matcher.group(1);
        String data_ = matcher.group(2);
        try {
            cl = Class.forName(Singleton.ListCommand.get(command_).getClass().getName());
            method = cl.getMethod(command_, java.lang.String.class, Session.class);
            method.invoke(Singleton.ListCommand.get(command_), data_, userSession);
        } catch (NoSuchMethodException | SecurityException | IllegalAccessException | IllegalArgumentException | InvocationTargetException | ClassNotFoundException ex) {
            ex.printStackTrace();
        }

    }

сообщение представляет собой строку с разделителем: имя метода и данные для метода.
27 мар 19, 16:50    [21845263]     Ответить | Цитировать Сообщить модератору
 Re: Где взять опыт?)  [new]
mayton
Member

Откуда: loopback
Сообщений: 42851
А сколко примерно операций в секунду должен отработать OnMessage(...) ?
27 мар 19, 17:10    [21845280]     Ответить | Цитировать Сообщить модератору
 Re: Где взять опыт?)  [new]
вадя
Member

Откуда: Екатеринбург
Сообщений: 16778
mayton
А сколко примерно операций в секунду должен отработать OnMessage(...) ?
дофига
27 мар 19, 17:27    [21845292]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 .. 4 5 6 7 8 [9] 10 11 12 13 .. 134   вперед  Ctrl
Все форумы / Java Ответить