Size: a a a

2020 April 22

RV

Roman V in Frontend UA
Тут я вижу несколько задач.

1) Для того чтобы сделать процесс использования api не из приложения тяжелее для злоумышленника можно использовать какого-то рода подпись например на основе отправляемых данных используя КЛЮЧ, таким образом подтверждается целостность данных и их нельзя подменить не зная ключа и алгоритма по которому формируется подпись. Чтобы использовать это в боте придется вытащить полностью алгоритм создания подписи из приложения. Это усложнение жизни злоумышленнику, ведь классические подходы к запросам API которые просто где-то в хедере отправляется ключ повторить в боте значительно легче.

2) Для того чтобы получить нужный КЛЮЧ на клиенте можно использовать различные способы. Самый простой - пользователь вводит свой логин и пароль и в ответ получает постоянный ключ который использует в алгоритме подписи из пункта 1. И уже навернуть всякие подходы тут https://medium.com/@vixentael/key-management-approaches-for-mobile-apps-57bb4db63906
источник

RV

Roman V in Frontend UA
Alexander Klochko
ты сам, на основе данных, которые приходят в http запросе никак не сможешь отличить реального пользователя от бота, на создание которого потратили больше "5 минут"
Да, именно так
источник

IT

Ivan Tytarenko in Frontend UA
а есть умные люди, которые объяснят, схера когда я запускаю execa я получаю вывод в stderr но try catch вокруг вызова не срабатывает?

Или я много хочу?
источник

IT

Ivan Tytarenko in Frontend UA
т.е.

try {
   const { stderr } = await execa.command(command);
   if (stderr) {
     throw Error(stderr);
   }
 } catch (e) {
   console.error(e);
 }


выходит ситуация, что try отработает нормально
источник

RV

Roman V in Frontend UA
Ivan Tytarenko
т.е.

try {
   const { stderr } = await execa.command(command);
   if (stderr) {
     throw Error(stderr);
   }
 } catch (e) {
   console.error(e);
 }


выходит ситуация, что try отработает нормально
Веротяно оно в кетч попадает когда exit code не 0. И вполне вероятно что exit code 0 но все равно сообщения есть в stderr, одно другому не мешает.
источник

IT

Ivan Tytarenko in Frontend UA
Roman V
Веротяно оно в кетч попадает когда exit code не 0. И вполне вероятно что exit code 0 но все равно сообщения есть в stderr, одно другому не мешает.
т.е. чтобы дочерний процесс вернул ошибку, он должен именно упасть с ней?
источник

IT

Ivan Tytarenko in Frontend UA
ок, спасибо
источник

IT

Ivan Tytarenko in Frontend UA
Криво написал, сорри :)
источник

RV

Roman V in Frontend UA
Ivan Tytarenko
т.е. чтобы дочерний процесс вернул ошибку, он должен именно упасть с ней?
Это нужно доку той либы читать, думаю там есть в каких случаях исключение летит. Но как минимум наличие текста в stderr не делает автоматически процесс зафейленым.
источник

AL

Andrey Listochkin in Frontend UA
+1 обычно в stderr может идти какой-то лог операций, какая-то диагностика и тд. Например, если курлом качать документ с урла, то в stderr курл рисует прогресбарчик, а в stdout текст респонса.
источник

IT

Ivan Tytarenko in Frontend UA
Andrey Listochkin
+1 обычно в stderr может идти какой-то лог операций, какая-то диагностика и тд. Например, если курлом качать документ с урла, то в stderr курл рисует прогресбарчик, а в stdout текст респонса.
даже так… окей, спасибо
источник

IT

Ivan Tytarenko in Frontend UA
я по привычке думал, что если err - то это ошибка и завершение операции 🙂
источник

IT

Ivan Tytarenko in Frontend UA
оказывается нет
источник

SG

Stas G in Frontend UA
кто-нибудь знает, как пофиксить такое поведение в вебшторме? это при нажатии Enter
источник

SG

Stas G in Frontend UA
источник

LH

Leo Hrabovetskyi in Frontend UA
тільки в цсс таке?
источник

SG

Stas G in Frontend UA
ага
источник

LH

Leo Hrabovetskyi in Frontend UA
в мене норм працює
источник

LH

Leo Hrabovetskyi in Frontend UA
може плагін який заважає
источник

SG

Stas G in Frontend UA
не исключено) но оно возможно где-то в настройках тоже регулируется
источник