
Igor
21.01.2018
08:45:02
Но лучше погуглите, я всё-таки даже не из России)

Glenn
21.01.2018
08:45:21
Поэтому я спрашиваю:
У меня приложение с миллионом активных пользователей. Встал вопрос о защите приложения от копирования.
Я правильно понимаю что хорошей защитой является проверка сигнатуры приложения в си?
Какие ещё варианты защиты бывают?
Спасибо

Michael
21.01.2018
08:46:20

Google

Doctor
21.01.2018
08:46:53
Может вы про DISCORD?

Igor
21.01.2018
08:47:43

Michael
21.01.2018
08:48:34
Нет, спутал с одногруппником)

Sergei
21.01.2018
08:48:36

Doctor
21.01.2018
08:49:29

Glenn
21.01.2018
08:49:36

Michael
21.01.2018
08:50:16


Анвар
21.01.2018
08:54:12
<mapper namespace="com.example.CarMapper">
<select id="search" resultType="mybatis.demo.springbootmybatis.model.Car">
select * from car
<where>
<if test="year != 0 and year != null">
year = #{year}
</if>
<if test="make != null">
and make = #{make}
</if>
<if test="model != null">
and model = #{model}
</if>
</where>
</select>
</mapper>
такая ошибка выходит помогите:Caused by: org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): mybatis.demo.springbootmybatis.mapper.CarMapper.search
@Mapper
public interface CarMapper {
// @Select("select * from car")
// Collection<Car> selectAll();
//
// @Options(useGeneratedKeys = true)
// @Insert("insert into car(make, model, year) values(#{make}, #{model}, #{year})")
// void insert(Car car);
//
// @Delete("delete from car where id = #{id}")
// void deleteById(long id);
Collection<Car> search(@Param("make") String make,
@Param("model") String model,
@Param("year") int year);
}


Doctor
21.01.2018
08:57:23
https://ru.stackoverflow.com/questions/654248/mybatis-invalid-bound-statement-not-found

Glenn
21.01.2018
09:06:48

Google

Sergei
21.01.2018
09:14:05
На сервере проверять его на подлинность.

Glenn
21.01.2018
09:15:13

Andre
21.01.2018
09:15:40
О чем ему изначально сказали
Но вообще люди делятся на два типа: те, кто еще защищает приложения и те, кто уже не защищает

Sergei
21.01.2018
09:17:41

Glenn
21.01.2018
09:18:09

Denis
21.01.2018
09:18:20

Glenn
21.01.2018
09:19:06

Denis
21.01.2018
09:19:57
Ну и по ИП пасти, если юзер сделал два запроса с разницей пару секунд с разных концов страны это явно подозрительно :)

Glenn
21.01.2018
09:20:31

Andre
21.01.2018
09:20:40

Glenn
21.01.2018
09:21:12

Denis
21.01.2018
09:21:32

Glenn
21.01.2018
09:21:56

Andre
21.01.2018
09:22:18

Doctor
21.01.2018
09:23:14

Denis
21.01.2018
09:23:38

Google

Glenn
21.01.2018
09:24:28

Sergei
21.01.2018
09:25:35

Denis
21.01.2018
09:25:55

Glenn
21.01.2018
09:26:03

Denis
21.01.2018
09:27:20
Напиши в личку, в общем. Может скажу чего умного :)

Glenn
21.01.2018
09:28:00

Andre
21.01.2018
09:29:59
Нет, это ж не я трачу деньги на бесполезные инвестиции :)

Sergei
21.01.2018
09:30:11

Andre
21.01.2018
09:30:22
И уж тем более не я продакт оунер

Glenn
21.01.2018
09:30:35

Denis
21.01.2018
09:33:46

Glenn
21.01.2018
09:34:22
У пользователя Andre Macareno, Я спрашиваю ссылку Как сделать правильный in-app billing, А он не может ее привести.

Oleksandr
21.01.2018
09:37:29
либо _сильно_ усложнить жизнь простых юзеров, либо смириться

Glenn
21.01.2018
09:37:41
Да кстати идея о выполнении части кода на сервере мне не подходит.
Мне ничего выполнять на сервере, почти нечего.

Oleksandr
21.01.2018
09:38:38

Glenn
21.01.2018
09:39:04

Google

Aleksandr
21.01.2018
09:52:58

Denis
21.01.2018
10:01:50

Aleksandr
21.01.2018
10:02:27
но вообще не очень понятно какой смысл защищать
те кто покупает все равно покупают
и не потому, что взломать не могут

Admin
ERROR: S client not available

Aleksandr
21.01.2018
10:02:55
а те кто спиздят они или спиздят или забьют

Denis
21.01.2018
10:02:59

Aleksandr
21.01.2018
10:03:12
бесплатная реклама

Denis
21.01.2018
10:03:34
Это если получается ее монетизировать

Aleksandr
21.01.2018
10:04:31
выдайте версию для 4pda и подпихивайте рекламу, прям сами выдайте
заодно будете знать сколько скачали
замаскировать «апдейтом»

Sergei
21.01.2018
10:08:21

Glenn
21.01.2018
10:41:51

Andrew
21.01.2018
11:34:05
Привет. Подскажите, как правильно шарить внутренние userId во внешние сервисы, с возможностью идентификации потом у себя же. (обычный one way hash не подходит поэтому).
Как принято, какие best practices?
/stat@combot

Combot
21.01.2018
11:36:03
combot.org/chat/-1001043090457

Andrew
21.01.2018
11:36:14
/stat@combot

Google

Combot
21.01.2018
11:36:14
combot.org/chat/-1001043090457

Wystan
21.01.2018
11:46:55
А идентификация - ну как обычно логин/пароль, выдает security token и погнали. Или что-то другое спрашиваешь?

Andrew
21.01.2018
11:49:21
Есть user ID в базе, третьим сервисам нужно идентификация юзеров, отдавать внутренний несекьюрно.
И надо обратно идентифицировать, когда эти id поступают из сервиса обратно.

Wystan
21.01.2018
11:50:46
почему отдавать внутренний несекьюрно?
они максимум что количетсво пользователй могут попытаться угадать, если у тебя sequenceId
Мое скромное имхо, что сервисы, которые написаны straightforward, например, выдают sequence user id, выглядят лучше, чем те которые пытаются там куда-то внутренний id замапать и выдать какой-то юник хэш. Понятно, что программисты уверены в бизнесе и не боятся показать сколько у них клиентов. А программисты которые в этом место усложняют еще пятьдесят раз ошибутся в этом месте и еще в тысячи местах накосячат

Andrew
21.01.2018
12:03:32
Та ладно, а токены зачем придумали.
Не хотел с ними заморачиваться, но видимо придётся.

guga
21.01.2018
12:23:51
токены только аутентификацию делают, но ещё и авторизацию

Igor
21.01.2018
17:30:57
А какой лучших способ хранить кучу firebase токенов со стороны сервера, так, чтобы их можно было доставать в удобный момент без особых затрат ресурсов?

Alex
21.01.2018
17:36:04
Map?

Igor
21.01.2018
17:36:42
Ну вот думаю об этом, но как представлю, что там будет с топиками – маленько ужасаюсь. Хотя действительно первое, что в голову пришло.
Для одиночных рассылок самое то.

Sergei
21.01.2018
17:37:03
Map?
По идее ему persistence нужно.

Igor
21.01.2018
17:38:15
Ну, да. Может какой-нибудь persistent map закостылить...