Как защитить приложение на js+php пока не заплатили?

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

Работу я выполнил, но вот думаю как перестраховаться теперь - вдруг он не заплатит оставшуюся часть.

Имеем: SPA приложение + бэкэнд.

Вижу два варианта:
1)часть эндпоинтов вынести на внешний свой сервер и не включать их в код проекта. После того, как заплатят, то обновить проект из другой ветки git чтоб обращение шло не к внешнему серверу

2)Не включать в проект исходники в виде js+css, которые обрабатывает сборщик, а оставить лишь сжатые их версии, а в js уже оставить только преобразованным к ванильному без исходного кода vujs.

Но может как-то можно еще можно перестраховаться?

Просто по договоренности оплата пойдет только после установки программы на компьютер клиента.

Очень хотел бы получить рецепт как сделать чтоб выходило сообщение типа "Триал верия закончилась. Расплатитесь с разработчико". На бэкэнде это малореально - код то открытый. Его можно подчистить. А вот в js можно как-то вставить мутный зашифрованный непонятный код, который бы вёл к потере работоспособности проекта по истечении даты.

Дополнительно:

на твоем месте я бы просил сразу 100%.

Либо же можно подключить все это дело к бд, привязать уникальный идентификатор (к примеру hwid). потом эти данные захешировать, чтобы он не понял , что конкретно привязано (например, sha256) . В бд засунуть эту инфу и потом спустя время можно эту удалить, а в самой проге сделать проверку на наличие записи в бд

  • DKENdhdhdasd, это просто какой-то Америкос. А мне интересно развитие сюжета ) идея понравилась с идентификатором.
  • DKENdhdhdasd, но там всего одна таблица в базе данных. это список людей и их задолжность.
  • Слава, создай новую таблицу и в ней запись, а в этой записи hwid его
  • Что-то с логикой.
    Вы либо хотите, чтобы вас не кинули (в данном случае это вполне оправданная предоплата 100%) либо вам что-то там интересно про честность и еще какая-то чушь про развитие событий. Т.е. вы готовы рисковать деньгами ради интереса.

    И тот и другой вариант нормальный, почему бы и нет.
    Но тогда при чем тут защита?

  • Ответы:

    1. Развернуть приложение полностью на 100% на своем сервере, а код разместить в своем приватном репозитории.
    2. Показать клиенту, что все задачи выполнены по ТЗ.
    3. Получить оплату на 100%.
    4. Разместить приложение на сервере клиента, а код - в его репозитории.

    Просто по договоренности оплата пойдет только после установки программы на компьютер клиента.

    Если в прошлый раз клиент кинул - что помешает ему сейчас кинуть? Просто не передавайте результат до оплаты, аргументируя это предыдущим случаем.

    • ну так то да. просто тогда я не смогу проверить его на черствость. это Америкос.
    • Черствость? Может честность? Рискуя своими деньгами проверять честность человека на другой стороне планеты, который уже однажды кинул? Не, ну мне так-то все равно - ваши ж деньги. Мой совет - выше, следовать или нет ему - ваше дело.
    • Вы пишите что это Америкос - и уже кидал ?
      Значит кинет ещё раз , это 100%.
    • aleks-th, кидание как то связано с национальностью?))
      У нас в РФ таких тоже много)
    • Drno, за много лет такое мнение сложилось Америкосы кидали меня несколько раз очень нахраписто и нагло - с ними теперь всегда 100%предоплата ибо доверия нет.

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

      Не говорю что это истина в последней инстанции, может просто мне так везло, или не везло.

    • Слава, а зачем проверять то, если вы и так уже знаете, что заказчик имеет свойство обманывать?

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

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

      Только смотрите, чтобы вас потом самого обманщиком не назвали с такими приколами

    • aleks-th, им просто плевать на нас. они кинут если будут думать что вы больше им не понадобитесь.
    • Drno, связано. если кидала в России, его можно вычислить и потом отомстить. А до Америкоса т яжело дотянуться.
    • aleks-th, но тут он уже дал предоплату. Максимум что он может сделать это не заплатить остаток.
    • Слава, никак ты и в РФ не вычислишь и не отомстишь.
      Да и что ты ему предъявишь, если договора нет?))
    • Drno, вычислить можно любого человека если есть ресурс... А когда к нему позвонят бородатые дядьки с акцентом, пришлют фотографию его дочки и адрес, где он проживает, то он потом и квартиру свою перепишет...
    • Слава, не смущает что это незаконно? и что эти бородатые дядьки не факт что справятся?)))
      все блин наивные такие

    ioncube
    А вообще, за такие провинности требовать 100% предоплату. Конечно, предварительно предоставить нужную информацию, что задача выполнена в полном объеме.
    Да и без провинностей минимум на 50% соглашаться, чтобы уровнять риски

    Стопроцентная предоплата — хороший вариант для единичного клиента, но если речь идёт про продажу продукта в качестве услуги, то стоит подумать немного наперёд.

    Самый распространённый подход сейчас —SaaS, продажа доступа к собственной инфраструктуре. Исходники и их исполнение остаются на вашей стороне, а вы берёте месячную/годовую/единоразовую плату за доступ к сервису.
    Можно рассмотреть кодирование исходников в ioncube или компилирование собственного кода в расширение php из cpp (либо использование суррогатов вроде Zephir), но всё это можно взломать/обойти/пропатчить.

    Меняйте подход к продаже своих слуг, раз их воруют.

    • ну тут SaaS не подойдет. задача скорее похожа на курсовую работу или на тестовое задание.

    Вариант 1 - очень плохой. При проверке у него будет аргумент почему он не готов платить, и основание требовать чтобы выдали все исходники.
    Вариант 2 - полумера которая не остановит если захочет кинуть.

    Тут только вариант что он подключается к вам проверяет все на виртуалку - и после того как говорит Окей - вы говорите оплата сэр, и все будет сделано.
    Если спросит почему так скажите что доверия нет, а вам не выгодно его кидать так как уже все сделано работу вы уже выполнили и вам совсем не выгодно его кидать так он ещё раз может обращаться, а если кинет то и клиента потеряете.

    • а подключаться не нужно. достаточно зайти по ссылке и убедиться что функционал работает. в код никто лезть не будет. ониж не программисты.
    • Слава, первого более чем достаточно. Понапихай в код массу дергалок удаленного эндпоинта, хоть копипаст, хоть полиморф, если не программисты они - даже сможешь видеть запуски и стату обращений.
      Не обязательно убирать закладку. Хорошую закладку должно быть не видно годами.
      Сделай так чтоб она не давала работать сайту когда эндпоинт онлайн, а не наоборот - на случай если забудешь сам его продлить.
    • Uno, Я одно время когда в небольшой конторе работал, мы много заказывали мелких работ на фрилансе.

      При обнаружении любой закладки - код шел в мусорку и текущий и тот что был ранее от исполнителя, на всякий случай.

      Исполнитель , так как нет доверия к нему после любой закладки - в бан, с объяснением причин почему так, с комментарием - никогда не сотрудничаем.

      Тут дело принципа, зачем работать с теми с кем может возникнуть потенциальная проблема в будущем.

      Правда мы все вовремя оплачивали, при этом, и естественно нам закладки были вовсе не нужны.

      Поэтому тут вопросы в доверии - нет доверия предоплата или не работай, а тихушным закладчиком становится - довольно плохая практика.

    • aleks-th, ну вы сначала обнаружьте... обычно исполнителя найти труднее, чем заказчика...
      И почему это к исполнителю нет доверия? он просто перестраховался.

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

    • Слава, обнаруживал несколько раз, и исполнитель шел лесом.
      Не проверишь код и использовать - это какая-то странная, и очень сомнительная практика.
      Бизнесу закладчики не нужны впринципе.
      Нормальные исполнители есть.

      Ещё раз повторюсь - нет доверия - всегда есть предоплата.
      Закладки - очень плохая практика.

     

    Для решения данной проблемы вы можете воспользоваться услугами фрилансеров. Мы выполним необходимую работу быстро и качественно.

     

      • Как защитить приложение на js+php пока не заплатили?Есть ответ
      • 09.04.2024
      Ответить

      Для защиты приложения на js+php до момента оплаты можно использовать следующие методы:

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

      // Пример кода для авторизации пользователя
      session_start();
       
      if ($_POST['username'] == 'admin' && $_POST['password'] == 'password') {
          $_SESSION['logged_in'] = true;
      } else {
          echo 'Неверное имя пользователя или пароль';
      }

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

      // Пример кода для проверки оплаты пользователя
      if ($user['paid'] == true) {
          echo 'Доступ разрешен';
      } else {
          echo 'Доступ ограничен, оплатите услугу';
      }

      3. Шифрование данных: используйте шифрование данных для передачи и хранения конфиденциальной информации. Например, можно использовать HTTPS для защищенной передачи данных между клиентом и сервером.

      4. Защита от SQL-инъекций и других уязвимостей: убедитесь, что ваше приложение защищено от атак, таких как SQL-инъекции, XSS и CSRF. Используйте подготовленные запросы для работы с базой данных и фильтрацию пользовательского ввода.

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

      Соблюдая эти рекомендации, вы сможете обеспечить защиту вашего приложения на js+php до момента оплаты и сохранить конфиденциальность данных пользователей.

      • Как защитить приложение на js+php пока не заплатили?Есть ответ
      • 07.04.2024
      Ответить

      Для защиты приложения на js+php до момента оплаты можно применить несколько методов:

      1. **Авторизация и аутентификация**: Убедитесь, что ваше приложение имеет систему авторизации и аутентификации для доступа к его функционалу. Это позволит контролировать доступ к приложению и предотвратить несанкционированный доступ.

      2. **Шифрование данных**: Важно защищать данные, передаваемые между клиентом и сервером. Используйте протокол HTTPS для шифрования данных и защиты от перехвата.

      3. **Обработка ошибок**: Не отображайте подробные сообщения об ошибках на продакшн-версии приложения, чтобы не дать злоумышленникам информацию о его внутреннем устройстве.

      4. **Фильтрация ввода**: Всегда фильтруйте входные данные, передаваемые через формы или API, чтобы предотвратить атаки типа SQL-инъекции или XSS.

      5. **Обновление безопасности**: Убедитесь, что вы используете последние версии библиотек и фреймворков, чтобы избежать уязвимостей, которые могут быть исправлены в новых версиях.

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

      Применение этих методов поможет защитить ваше приложение на js+php до момента оплаты и обеспечит его безопасность.

    Оставить комментарий