Как защитить приложение на js+php пока не заплатили?
Есть клиент, который ранее уже один раз кинул меня. Но сейчас вернулся как невинная овечка и заказал мне новую работу. Сразу дал предоплату включая компенсацию за старые грешки.
Работу я выполнил, но вот думаю как перестраховаться теперь - вдруг он не заплатит оставшуюся часть.
Имеем: SPA приложение + бэкэнд.
Вижу два варианта:
1)часть эндпоинтов вынести на внешний свой сервер и не включать их в код проекта. После того, как заплатят, то обновить проект из другой ветки git чтоб обращение шло не к внешнему серверу
2)Не включать в проект исходники в виде js+css, которые обрабатывает сборщик, а оставить лишь сжатые их версии, а в js уже оставить только преобразованным к ванильному без исходного кода vujs.
Но может как-то можно еще можно перестраховаться?
Просто по договоренности оплата пойдет только после установки программы на компьютер клиента.
Очень хотел бы получить рецепт как сделать чтоб выходило сообщение типа "Триал верия закончилась. Расплатитесь с разработчико". На бэкэнде это малореально - код то открытый. Его можно подчистить. А вот в js можно как-то вставить мутный зашифрованный непонятный код, который бы вёл к потере работоспособности проекта по истечении даты.
Либо же можно подключить все это дело к бд, привязать уникальный идентификатор (к примеру hwid). потом эти данные захешировать, чтобы он не понял , что конкретно привязано (например, sha256) . В бд засунуть эту инфу и потом спустя время можно эту удалить, а в самой проге сделать проверку на наличие записи в бд
Что-то с логикой.
Вы либо хотите, чтобы вас не кинули (в данном случае это вполне оправданная предоплата 100%) либо вам что-то там интересно про честность и еще какая-то чушь про развитие событий. Т.е. вы готовы рисковать деньгами ради интереса.
И тот и другой вариант нормальный, почему бы и нет.
Но тогда при чем тут защита?
Черствость? Может честность? Рискуя своими деньгами проверять честность человека на другой стороне планеты, который уже однажды кинул? Не, ну мне так-то все равно - ваши ж деньги. Мой совет - выше, следовать или нет ему - ваше дело.
Drno, за много лет такое мнение сложилось Америкосы кидали меня несколько раз очень нахраписто и нагло - с ними теперь всегда 100%предоплата ибо доверия нет.
Наши тоже могут, но по моей статистике - делают это реже, с нашими, я даже не всегда предоплату требую, если вижу по разговору что человек адекватный.
Не говорю что это истина в последней инстанции, может просто мне так везло, или не везло.
Drno, вычислить можно любого человека если есть ресурс... А когда к нему позвонят бородатые дядьки с акцентом, пришлют фотографию его дочки и адрес, где он проживает, то он потом и квартиру свою перепишет...
ioncube
А вообще, за такие провинности требовать 100% предоплату. Конечно, предварительно предоставить нужную информацию, что задача выполнена в полном объеме.
Да и без провинностей минимум на 50% соглашаться, чтобы уровнять риски
Стопроцентная предоплата — хороший вариант для единичного клиента, но если речь идёт про продажу продукта в качестве услуги, то стоит подумать немного наперёд.
Самый распространённый подход сейчас —SaaS, продажа доступа к собственной инфраструктуре. Исходники и их исполнение остаются на вашей стороне, а вы берёте месячную/годовую/единоразовую плату за доступ к сервису.
Можно рассмотреть кодирование исходников в ioncube или компилирование собственного кода в расширение php из cpp (либо использование суррогатов вроде Zephir), но всё это можно взломать/обойти/пропатчить.
Меняйте подход к продаже своих слуг, раз их воруют.
Вариант 1 - очень плохой. При проверке у него будет аргумент почему он не готов платить, и основание требовать чтобы выдали все исходники.
Вариант 2 - полумера которая не остановит если захочет кинуть.
Тут только вариант что он подключается к вам проверяет все на виртуалку - и после того как говорит Окей - вы говорите оплата сэр, и все будет сделано.
Если спросит почему так скажите что доверия нет, а вам не выгодно его кидать так как уже все сделано работу вы уже выполнили и вам совсем не выгодно его кидать так он ещё раз может обращаться, а если кинет то и клиента потеряете.
Слава, первого более чем достаточно. Понапихай в код массу дергалок удаленного эндпоинта, хоть копипаст, хоть полиморф, если не программисты они - даже сможешь видеть запуски и стату обращений.
Не обязательно убирать закладку. Хорошую закладку должно быть не видно годами.
Сделай так чтоб она не давала работать сайту когда эндпоинт онлайн, а не наоборот - на случай если забудешь сам его продлить.
aleks-th, ну вы сначала обнаружьте... обычно исполнителя найти труднее, чем заказчика...
И почему это к исполнителю нет доверия? он просто перестраховался.
В каждой программе должно быть несколько закладок на случай, если исполнителя кинут.
Слава, обнаруживал несколько раз, и исполнитель шел лесом.
Не проверишь код и использовать - это какая-то странная, и очень сомнительная практика.
Бизнесу закладчики не нужны впринципе.
Нормальные исполнители есть.
Ещё раз повторюсь - нет доверия - всегда есть предоплата.
Закладки - очень плохая практика.