• Как запретить кеширование данных, полученных через API?

    lastuniverse
    @lastuniverse
    N, почему фиаско, тот же автортудей и литнет книги дают в виде картинок как раз для препятствия копированию и распространению.
    Написано
  • Как запретить кеширование данных, полученных через API?

    lastuniverse
    @lastuniverse
    N, ну или рендерить всю инфу в виде картинок на сервере, а клиенту выдавать инфу этими картинками))))
    Написано
  • Как запретить кеширование данных, полученных через API?

    lastuniverse
    @lastuniverse
    N, тут соглашусь, если програмист с определенной периодичностью сканит весь сайт на предмет составления слепка всей инфы близкого к актуальному, то от этого защититься почти нереально, особенно если он (программист) делает это через разные IP (прокси) и соблюдает некий временной интервал между запросами. В таком случае разве что сильная капча поможет.
    Написано
  • Как запретить кеширование данных, полученных через API?

    lastuniverse
    @lastuniverse
    N, прочтите мой последний коммент
    Написано
  • Как запретить кеширование данных, полученных через API?

    lastuniverse
    @lastuniverse
    rPman, N писал:

    чтобы в дальнейшем не было возможности, раз сохранив ID'шники авторов, напрямую обращаться к этому методу, минуя метод "получения авторов"...

    Таким образом о полном запрете кэшировании речи не идет. А речь идет об одноразовых ссылках.
    Соответственно наиболее простым в реализации мне видится такой способ:
    1. создается таблица в БД для сохранения токенов и срока их действия, и цели (автор или книга или глава и ее ID) а так же информация о клиенте (в самом простом случае его IP но если делать правильно, то отпечаток клиентского устройства)
    2. при генерации страницы с авторами:
    - для каждой книги автора генерируется новый одноразовый токен со сроком жизни скажем сутки.
    - все ссылки на книгу в текущей генерации страницы автора содержат данный токен (свой для каждой книги)
    - в бд вносится токен, дата генерации и цель (автор или книга или глава и ее ID) и отпечаток клиентского устройства
    3. с остальными пунктами (книгиб главы) по той же схеме

    как это работает:
    я захожу на страницу авторов, и все ссылки на книги содержат уникальный одноразовый токен с ограниченным сроком действия, привязанный к данной конкретной записи (автору, книге, главе) а так же привязанный к данному конкретному устройству.
    При нажатии на любую ссылку (любого автора) идет запрос на сервер, содержащий и данный токен.
    Сервер получая запрос, смотрит в БД наличие данного токена и связанной с ним инфы и если токен есть сравнивает ID автора из ссылки и ID автора взятого из связанной с токеном инфы а так же сравнивает цифровой отпечаток устройства с цифровым отпечатком устройства сохраненном в токене. Если хоть одна из проверок не пройдена, отправляем пользователю страницу "ай-ай-ай)))", если пройдена, выдаем ему список книг автора и удаляем токен из базы. Далее выданный список книг автора работает по той же схеме, и список глав книги тоже. Плюс ко всему раз в N времени подчищаем в базе просроченые токены.
    Таким образом по любой из сылок со страницы можно получить информацию только 1 раз, что и требовалось реализовать.
    и не дать возможность закэшировать ответ, например, метода "получения книг по автору", чтобы в дальнейшем не было возможности, раз сохранив ID'шники авторов, напрямую обращаться к этому методу, минуя метод "получения авторов"...
    Написано
  • Как запретить кеширование данных, полученных через API?

    lastuniverse
    @lastuniverse
    rPman, ну, тут на самом деле много нюансов. Если токен менять скажем раз в минуту, то злоумышленнику придется и ссылки на книги раскиданные по инету менять раз в минуту. Это в принципе реализуемо на его собственных ресурсах, но совсем не реализуемо на ресурсах третьих лиц. При этом не забываем о проверке на сервере с какого домена пришел запрос.
    Написано
  • Как запретить кеширование данных, полученных через API?

    lastuniverse
    @lastuniverse
    rPman, не, токен надо менять, иначе что помешает мне открыть в селениуме страницу авторов навсегда и раздать ссылки с вечнодействующим токеном.
    Написано
  • Как запретить кеширование данных, полученных через API?

    lastuniverse
    @lastuniverse
    N, внимательно прочтите
    спойлер
    ...обновляйте его если страница с авторами открыта раз в минуту...
    Написано
  • Можно ли получить данные от Api не дожидаясь полной загрузки?

    lastuniverse
    @lastuniverse
    Алексей Ярков, сижу уже неделю жду ответа от возможного работодателя
    чат

    Я: В какие примерно сроки принимается решение по результатам выполнения тестового задания (несколько часов, дней, более длительный срок)?

    Кадровик: Ответ обычно около недели, сейчас большая загруженность. Но вы пишите если вдруг мы не выйдем на связь.

    Я: Виктория, доброе утро.
    Неделя прошла, напоминаю о себе)



    Но отказ на заявку на хабркарьере пока не дали. Вот и извел себя ожиданием до того, что во мне клокочет злой сарказм, рождающий такие вот варианты решения как предложенный выше)))))
    Написано
  • Можно ли получить данные от Api не дожидаясь полной загрузки?

    lastuniverse
    @lastuniverse
    Алексей Ярков, Mdmitr, почему никак, очень даже как)))
    делаете свой промежуточный сервер, который получая запросы от клиента, на низком уровне (уровень соединения tcp/ip) перенаправляет запрос на нужный сервер, читая его ответ из сокета частями по мере загрузки. Для этого вам понадобится реализовать поверх голого tcp/ip соединения поддержку протокола http/https со всеми хеадерами и прочим, а так же хитрый парсер для получаемых данных, способный выковыривать самодостаточные куски json-а по некоторому признаку.
    НО!!! хоть это теоретически и возможно, такое решение будет дичайшим костылем (ктото возможно назовет его микросервисом ))))))
    Написано
  • Как в CSS сделать такую кнопку?

    lastuniverse
    @lastuniverse
    Пашенька, можно и без оферфлоу, но радиус закругления подобрать трудно, да и прямо таки аналогичного результата не добиться (наверное))))
    Написано
  • Как сделать отложенную загрузку для видео в теге video?

    lastuniverse
    @lastuniverse
    Что вы подразумеваете под отложенной загрузкой?
    1. Воспроизведение видео когда когда контейнер с видео попал в область просмотра?
    2. Начало загрузки видеоконтента когда контейнер с видео попал в область просмотра?
    Написано
  • Как мне добавить этот код в header и использовать в другом коде?

    lastuniverse
    @lastuniverse
    Возможно что я что то сильно подзабыл в C, но внутри struct никаких функций GetAndroidApp(void) и return-ов быть не может в принципе

    https://docs.microsoft.com/ru-ru/cpp/cpp/struct-cp...
    Написано
  • Как хранится внутри игровая валюта?

    lastuniverse
    @lastuniverse
    Иван Шумов, если баланс не упал в минус, значит игрок мог и без вливания денег приобрести все то что он приобрел. Соответственно в данном случае никакого обхода системы не было.
    Написано
  • Как хранится внутри игровая валюта?

    lastuniverse
    @lastuniverse
    Иван Шумов, надеюсь это был сарказм и вы утрируете))
    Но если нет, тогда расскажите про подводные камни вот таких двух схем:

    вариант 1

    1. есть некий ОСНОВНОЙ игровой ресурс, который можно заработать как в игре так и купить за наличные.
    2. все остальные игровые ресурсы можно приобрести только за ОСНОВНОЙ игровой ресурс только в случае его положительного баланса.
    3. основной ресурс может иметь отрицательный баланс
    4. отрицательный баланс на счету основного ресурса штрафуется по вышеизложенной механике.
    5. при выводе денег из игры (отмене платежа за покупку основного ресурса) соответствующее данному платежу количество основного ресурса изымается со баланса основного ресурса.
    вопросы по схеме:
    - требуется ли для такой схемы лицензия банка?
    - будут ли штрафные санкции от гугла/эпла/етц? если будут то почему/за что?


    вариант 2

    1. есть некий ОСНОВНОЙ игровой ресурс, который можно заработать как в игре так и купить за наличные.
    2. все остальные игровые ресурсы можно приобрести только за ОСНОВНОЙ игровой ресурс только в случае его положительного баланса.
    3. основной ресурс НЕ МОЖЕТ иметь отрицательный баланс
    5. при выводе денег из игры (отмене платежа за покупку основного ресурса) разрешаем вывод на сумму соответствующую имеющемуся основному ресурсу на балансе игрока. На остальную сумму даем отказ в refund'е на основании невозможности возврата покупки.
    вопросы по схеме:
    - требуется ли для такой схемы лицензия банка?
    - будут ли штрафные санкции от гугла/эпла/етц? если будут то почему/за что?
    Написано
  • Как хранится внутри игровая валюта?

    lastuniverse
    @lastuniverse
    То есть, нет такого права, о котором вы говорите. Оно осуществляется не совсем так.

    grabbee, не совсем верно, просто даже если после бана от гугла или эпла вы отсудите у них то что их решение было не верно, как вы посчитаете сумму убытков за период простоя игры (по сути потери большей части игроков)
    Написано
  • Как хранится внутри игровая валюта?

    lastuniverse
    @lastuniverse
    Иван Шумов, и вот тогда другая механика. В игре создается что то типа банка (игрового) который может давать в кредит некий игровой ресурс, за который уже можно приобрести все что хочешь (от лутбоксов до пакетов). Игроку вовсе не обязательно вводить наличку, чтобы получить такой кредит (он может получить внутри игровой кредит в любое время абсолютно бесплатно) Гасить кредит он может как внутри игровыми ресурсами так и наличкой. При этом увеличивая сумму долга по кредиту игрок увеличивает штраф (вышеописанная механика). При таком подходе у эпла/гугла вообще не должно возникать вопросов.
    Написано
  • Как хранится внутри игровая валюта?

    lastuniverse
    @lastuniverse
    Иван Шумов, может я чего то не понимаю, но разве проблема тогда выдавать купленное после того как возврат средств невозможен?
    Или выдавая купленное не дожидаясь этого срока просто изначально прощать игроку возможный возврат (как вы и предложили в ответе).
    Но тогда вопрос про злоупотребление и бан за него также вами предложенный остается открытым, так как бан это те же санкции.
    Написано