Aga
в Expo такое есть
Aga
Если в Projects зайти и свайпнуть вниз
不退転」
scrollview/flatlist + refreshControl
Preeternal
оно и всегда будет.
Да работает. Спасибо. Немного теперь медленнее все грузится. Показываю контент после InteractionManager.runAfterInteractions. Надо будет подумать как оптимизировать загрузку (по частям).
Maxim
Aga
спасибо за наводку
Aga
Исходник вскрыть возможно?
Aga
Если допустим хранить ключ, могут потом вскрыть и найти его?
Aga
Типа анонимного опроса в приложении, бек на express'e
Aga
По минимуму надо бы защитится, думаю ключ ввести
不退転」
вопрос скорее в том, нужно ли будет кому-то реверсить ваше приложение?
Aga
Aga
да и слишком просто будет это сделать
不退転」
Да, хотелось бы избавится от таких возможностей
можно хранить ключ в keychain'e (https://github.com/oblador/react-native-keychain), на старте приложения выдергивать его в стор и потом ссылаться, либо перед каждым запросом доставать из чейна
Aga
不退転」
не юзал эту либу, но вроде-как много кто юзает для хранения чувствительных данных
不退転」
там в принципе сразу в ридми примеры написаны
Aga
Aga
вброс левых результатов, серьёзно повлияет
Dmitry
если я запущу 100 тредов с эмуляторами, которые будут запускать ваше приложение с разными device id и голосовать где надо, я смогу накрутить результаты?
Dmitry
если да, то нет смысла сильно заморачиваться, логируйте айпишник и device id, чтобы отсечь самых ленивых накрутчиков
Dmitry
можете впилить простейший PoW-алгоритм, чтобы накрутка требовала небольших мощностей при голосовании, но тогда батарейку юзерам убьёте
Dmitry
единственный способ защититься от накруток — регистрация (через google, телефон и т.д.)
Aga
Aga
и моя цель - максимально её усложнить
Aga
в принципе если ввести секретный код для запроса, это прилично так усложнит
Aga
Хочу избежать взлома от школьников, вот в чём цель)
Dmitry
Речь идёт о сложности накрутки
в моей практике самый эффективный способ бороться с накрутками — это не защищаться никак, а потом с помощью фильтров отсекать накрутчиков
Dmitry
школьник перехватывает урл в приложении, пробует проголосовать — получается, он голосует ещё 1000 раз, всё работает, школьник счастлив
Dmitry
потом простейшим фильтром его голоса не учитываются
Aga
Dmitry
с одного айпишника, с одного device id
Aga
Eldar
Каким образом можно через стейт передать во вью стиль?
this.state = {
style: styles.redBG
}
<View style={{style}}>
?
Dmitry
типа лимит голосов с одного айпишника?
можно слать из интерфейса события статистики типа логина, нажатия на кнопки и т.п., к ним прикладывать device id, и так фильтровать тех, кто подделывает device id, но не парится с эмуляторами
Aga
Aga
Aga
секретный ключ думаю тоже стоит реализовать, лишним не будет точно
Dmitry
важно понимать, что это немного усложняет работу накрутчикам, но полагаться на такие способы нельзя
Dmitry
см.пример с эмулятором
Dmitry
Aga
Sherzod
Dmitry
ну если плевать на пользователей, то можно PoW добавить, как я уже говорил
https://github.com/indutny/proof-of-work
Aga
чтобы левые запросы на сервак не шли, а только с ключём
Aga
Aga
Но желательно конечно не плевать на пользователей)
Dmitry
А если в кратце, чем он занимается?
сервер присылает nonce, клиент должен сгенерить хэш, значительно потратив на это ресурсы CPU; потом сервер быстро проверяет, что хэш правильно сгенерирован
Aga
Dmitry
сервер тратит незначительную долю того, что делает клиент
Dmitry
например, клиенту работы на 5 секунд, а серверу на 5 мс
Sherzod
Aga
Для начала сделаю по лайту, ближе к продакшну решу этот вопрос
Dmitry
Dmitry
Зачем изобретать велосипед, если есть deviceid ?)
Aga
Aga
вбил левый, а я не проверю
Dmitry
вопрос для чего
Dmitry
по слухам сейчас школьники ещё более острозубые
Aga
Dmitry
ну вы же понимаете, что это не к RN вопрос и даже не мобильным приложениями?)
Dmitry
Dmitry
мне кажется, что для голосования сейчас повсеместно внедряют блокчейн и он хорошо себя показывает, ну а дальше это уже вопрос реализации =)
Dmitry
Use of undeclared identifier 'FIRAnalyticsConfiguration' не получается победить, хотя библиотека залинкована в Xcode
Dmitry
решилось заменой pod 'Firebase/Core’ на pod 'Firebase/Core', '~> 4.13.0’
Preeternal
При повороте экрана туда сюда - всё плывёт в react-navigation 3, если по скринам ходить. Оно не перерисовывает )
Kto?
Kto?
У меня на рнав 3 тоже бред полный
Kto?
Думаю назад откатываться до 2й
Preeternal
Отключай )))
Нафига тогда я выделывался с резиновым дизайном) Раньше всё работало даже при ссмене языка. Теперь если на 1 букву после перевода титл в хеадер длиннее - оно не влазит
Kto?
Попробуй на вторую вернуться
Kto?
Должно помочь