2013-01-29 6 views
15

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

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

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

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

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

+15

Одно слово: договоры –

+8

Просто напишите действительно плохой код. Таким образом, никто не захочет украсть его :) Или NDA. –

+0

Возможно, вы разместите это на Programmers (http://programmers.stackexchange.com/), а не в будущем, хотя этот вопрос немного серый. – AlexMA

ответ

6

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

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

+0

У меня было какое-то время * клиент *, которому нужен прототип для своего банка. Таким образом, я создаю макет страницы с полной функциональностью (только для конечных пользователей) бесплатно, я думал, что получаю работу на реальной странице. Затем я снова через 7 месяцев снова вызвал человека, который сказал мне, что счастлив, что страница сейчас в сети и готова для клиентов. Это было замечательно! Как я должен реагировать на это !? – rekire

+2

Отправьте им счет. – iambriansreed

+0

Мне нравится идея удаленного доступа. Хотел бы я подумать об этом раньше. Скриншоты были тем, о чем я думал в будущем, но я, вероятно, настрою виртуальную машину только для TeamViewer с возможностью доступа к моему dev-серверу. Спасибо за предложение !! – Badams

-3

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

+3

Это не обязательно останавливает кражу исходного кода HTML/CSS. В частности, скрывается за предложением входа в систему. – Jeremy1026

+0

@ Jermey1026 - Я думал о вопросе с точки зрения Java, который позволяет помещать JSP/HTML в WEB-INF, который недоступен, если вы не проходите через сервлет регистрации. – Shane

-1

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

+0

Невозможно «надежно» шифровать HTML/JavaScript. Как только он попадет в мой браузер, я могу проверить DOM и получить исходный код. Постскриптум Все, что делает «инструмент», это: 'document.write (unescape (...))'. –

0

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

+0

На самом деле я никогда не думал об этом! Возможно, мне придется рассмотреть это для любых будущих крупных проектов, но общий консенсус, похоже, заключается в том, чтобы получить все в письменной форме, и я понимаю, что я действительно должен делать все равно. Спасибо за предложение! – Badams

6

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

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

Варианты широко раскрываются на защите кода на стороне сервера, но ваш вопрос, похоже, фокусируется на кодах на стороне клиента.

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

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

+0

Да, я понимаю, что теперь лучшая бизнес-логика - это ответ, к сожалению, что-то плохое должно было произойти, чтобы я мог это узнать. Не могли бы вы уточнить, какие меры защиты на стороне сервера? Обычно я разрабатываю php и делаю вывод html. Хотя php является кодом на стороне сервера, он все еще выводит простой html на стороне клиента. Может быть, я не совсем понимаю, с чем это связано? – Badams

+0

@Badams Для защиты PHP вы хотите [PHP Obfuscator] (https://www.google.com/search?q=PHP+Obfuscator). Я тоже усвоил урок. Это нормально делать ошибки, пока они разные. – iambriansreed

0

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

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

+0

Есть ли у вас предложения по услугам, которые это делают? Я хотел бы изучить это дальше. Обычно меня просто нанимают из уст в уста, так что в основном это денежные выплаты, и у меня никогда не было проблемы раньше. – Badams

+0

@Badams, elance.com, odesk.com - хороший сайт freelancer.com, и он имеет комиссию в размере от 3% до 10% на основе вашего типа членства - вы можете «список сайтов фриланса» Google. – sharp12345

-2

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

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

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

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

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

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

+1

Источник скрыт, когда вы их не выполняете. Я вижу источник с Firebug легко. – nhahtdh

+0

нет вы не можете. Единственное, что вы видите там, это init liblock.php и ничего больше. В init только содержатся функции base64, bigint, diffie-hellman- и aes-функции. – wowei

+0

Да, вы не можете легко его украсть (глядя на исходный код и материал), но хороший плагин может захватить код eval. Это выглядит как xscroll.js: http://pastebin.com/im2p7fpK (и все это занимает 10 секунд) – nhahtdh

Смежные вопросы