Предотвращение кражи исходного кода HTML

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

Просто интересно, если в любом случае предотвратить это в будущем?

Моя первая мысль была обфускацией, но быстрый поиск показывает, что делать это с html не рекомендуется и не является надежным в любом случае.

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

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

Ответ 1

IMHO хорошим способом будет презентация, например. с TeamViewer или аналогичным программным обеспечением, если вы не можете обратиться к своему клиенту.

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

Ответ 2

Другие ответы здесь - это всего лишь набор хаков, которые можно отменить.

Клиентская сторона, HTML, CSS и JS составлены из всех технологий с открытым исходным кодом. Хотя вы могли бы потратить много времени, пытаясь запутать свой код на стороне клиента, ваш лучший выбор - это просто практиковать лучшую бизнес-логику.

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

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

Когда вы делаете себя легкой маркой для мошенников, вы привлекаете только мошенников.

Ответ 3

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

Ответ 4

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

Многие сайты фрилансеров предоставляют эту услугу.

Ответ 5

Можно зашифровать исходный код с помощью javascript. Попробуйте этот веб-сайт: http://www.iwebtool.com/html_encrypter Я никогда не использовал этот инструмент сам, и я не знаю, все ли работает хорошо, но я думаю, что стоит сделать снимок. Вы всегда можете загрузить обычный исходный код после оплаты. Кроме того, убедитесь, что у вас есть правильная контактная информация вашего клиента в будущем. Я также настоятельно рекомендую использовать контракт в будущем, чтобы ваш клиент был юридически связан с вами. Другой возможный вариант - предоставить клиенту только скриншот сайта, но, конечно, ваш сайт станет статичным.

Ответ 6

Я построил инструмент, который действительно шифрует ваши JS-источники - нет простой безвестности путем обфускации, но хорошая безопасность с помощью шифрования.

Посмотрите, как это работает здесь: http://ec2-176-34-64-10.eu-west-1.compute.amazonaws.com/nopro/xscroll - это демонстрация только для скрытия script xscroll.js.

Когда вы проверяете DOM на своем клиенте, все, что вы видите: nplreq(url) для каждого script, вы связываетесь с HTML head.

Шифрование и дешифрование полностью прозрачны для браузера. Он протестирован с помощью Firefox, Chrome, Opera, Konqueror, IE8-10, Dolphin и Safari на планшете Android.

Шифрование с помощью AES (Rijndael 256) с использованием одноразовых ключей, которые согласовываются между сервером клиента и (liblock-) с использованием Diffie-Hellman.

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

Ответ 7

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