Как остановить пиратов? Кто-то уже аннулировал и пиратский мой скрипт :(

Я не знаю, что сказать. Примерно 3 дня назад я опубликовал сценарий для публики. Сегодня я понял, после поиска в google, что кто-то уже аннулировал (снял мою защиту) и пиратский скрипт.

Как мне запретить пользователям копировать скрипт? Он написан на PHP.

Пожалуйста, помогите или предложите какие-нибудь решения.

Спасибо за уделенное время.

ОБНОВЛЕНИЕ. Публикация означает, что я начал продавать ее пользователям.

ОБНОВЛЕНИЕ Моя программа стоит всего 49 долларов. Очень разумно для предлагаемой функциональности. Я не понимаю, как мне остановить пиратов от кражи моего кода. Ответы большинства людей довольно саркастичны. Я надеялся на хороший совет. Я знаю, что серебряной пули нет. Но некоторые техники, которые вы использовали в своих программах PHP.


person Alec Smart    schedule 15.06.2009    source источник
comment
Вы не можете остановить пиратство.   -  person jgallant    schedule 15.06.2009
comment
Если вы опубликуете сценарий, и он будет полезен, люди будут его использовать. Может я что-то упускаю, но вообще не вижу здесь проблемы.   -  person Thomas Owens    schedule 15.06.2009
comment
@Jon Вы не можете остановить наводнения, но можете построить плотины. Вы не можете остановить преступность, но у вас могут быть полицейские и законы. Дождь не остановить, но можно сделать зонтики.   -  person DevinB    schedule 15.06.2009
comment
... Вы не можете остановить пиратство, но вы можете смириться с ним и принять неэффективные контрмеры.   -  person mqp    schedule 15.06.2009
comment
Чтобы заработать на жизнь, вам необходимо предоставить услугу, которую ваши клиенты не смогут получить в другом месте по более низкой цене. Предоставление скриптов, как правило, не входит в число этих услуг, ИМХО. Возможно, вы могли бы подумать о том, чтобы пойти по пути ряда компаний, которые бесплатно предоставляют программное обеспечение с открытым исходным кодом, но взимают плату за поддержку?   -  person Jeffrey Kemp    schedule 15.06.2009
comment
@mquander, в истории каждого изобретения, которое работает, есть время, когда оно еще не работало. Отказ - черт возьми, не путь к прогрессу.   -  person DevinB    schedule 15.06.2009
comment
@Alec Smart, мне любопытно, готовы ли вы поделиться с сообществом, что это за скрипт / продукт и что он делает? У него есть название?   -  person matt b    schedule 16.06.2009
comment
@ Томас Оуэнс, @ Киевели: Плохо. Я бы дал -1, если бы это было возможно. Вот один автор, который не наносит вред своему программному обеспечению громоздкими мерами противодействия пиратству, но полагается на честность людей, и его не только обдирают, но и в довершение всего над ним высмеивают. Такие люди, как вы, принесли нам вредоносное ПО, коды активации продуктов и тому подобное, большое спасибо.   -  person DevSolar    schedule 18.06.2009
comment
Сделайте это бесплатно. Попробуйте получить от них деньги другим способом. Возможно, через поддержку или плагины. Это дерьмовое решение, но, как говорили другие, вы действительно не можете их остановить.   -  person Ben Shelock    schedule 21.07.2010
comment
Нет простого способа предотвратить пиратство. Хорошие долгосрочные решения: 1) работают быстрее и лучше, чем пиратские, поэтому подлинный товар всегда будет востребован, и 2) обеспечивают некоторую добавленную стоимость, такую ​​как поддержка и обновления.   -  person TechNeilogy    schedule 21.07.2010
comment
Думаю, природа задумала, что программирование будет бесплатным. Следовательно, мы, люди, не смогли найти решения обуздать пиратство. OpenSourcing - лучшая модель для нас, программистов   -  person Kamal Reddy    schedule 26.03.2013


Ответы (22)


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

Есть несколько компаний, которые предлагают услуги по защите, но они дороги, и иногда их все же можно преодолеть.

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

person samoz    schedule 15.06.2009
comment
Мне нравится идея сделать ваш код нечитаемым как форма борьбы с пиратством. Удалите все пробелы, переименуйте все переменные и функции в случайные символы. По сути, сделайте код настолько уродливым, что никто не захочет его использовать ... ха-ха - person jgallant; 15.06.2009
comment
Имейте в виду, что обфускация на самом деле ничего не дает. Люди взламывают двоичный машинный код, и никакой обфускатор не сможет сделать ваш код более трудным для чтения, чем это. - person Chuck; 15.06.2009
comment
Поскольку он написан на PHP, вы уже сделали половину работы по обфускации. (шучу, я уверен, что там есть очень хороший PHP. Я его просто не видел.) - person Michael Myers; 15.06.2009
comment
Я понимаю, что обфускация пиратов не остановит. Однако то, что он действительно делает, это поднимает планку для реверс-инжиниринга. Любой новичок может найти простой текстовый пароль, ключевую фразу или перейти в ваш двоичный файл, но если вы запутаете этот же код, человеку потребуется более высокий уровень навыков, чтобы пиратское программное обеспечение. Даже если некоторые люди все еще будут его пиратов, это сократит количество пиратов. В любой день я возьму 10 пиратов, а не 100. (Хорошо, если у меня нет ниндзя, чтобы поддержать меня) - person samoz; 15.06.2009

Я не пытаюсь быть здесь саркастичным: забудьте о них. Вот мое обоснование:

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

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

  • Пираты украдут ваши приложения независимо от того, сколько времени вы потратите, пытаясь их остановить.

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

  • Самое главное: не раздражайте платежеспособных клиентов. Это те, кто вам нужен, чтобы сделать счастливыми.

person rein    schedule 15.06.2009

Вы мало что можете сделать.

Будьте польщены, что ваша работа стоила затраченных усилий!

person Paul Dixon    schedule 15.06.2009
comment
Голос против удален! Я согласен, это похоже на измерение попыток взлома как признак успешного веб-проекта. - person karim79; 15.06.2009
comment
Если писать код - ваша профессия, лесть не кладет еду на стол и не дает крышу над головой вашего ребенка. - person David; 15.06.2009
comment
(-1) Не то чтобы я не согласен с вашим мнением, однако то, что вы предоставили, является комментарием, а не ответом. Под этим я подразумеваю, что высказывание о том, что вы мало что можете сделать, бесполезно для того, кто спрашивает, что вы можете сделать. - person DevinB; 15.06.2009
comment
@ Дэвид, я читал это, потому что лесть не забивает детей головами ... хм. Вот и все. - person nickf; 15.06.2009
comment
Каждый разработчик программного обеспечения должен иметь возможность накормить свою семью. - person mqp; 15.06.2009
comment
@devinb: Проблема в том, что нет действительно эффективного технического решения, особенно для скриптов. Вы можете сетовать на это или от всей души желать, чтобы решение было, но на самом деле его нет, а высказывание чего-либо еще менее полезно. - person David Thornley; 15.06.2009
comment
Я должен был отредактировать это дальше, но я хотел сказать, что попытки бороться с этим - пустая трата времени. Делайте ровно столько, чтобы честные люди оставались честными, и сосредоточьтесь на поддержке этих клиентов. Тогда у вас будет много еды, чтобы накормить семью :) - person Paul Dixon; 16.06.2009

Как мне запретить пользователям копировать скрипт?

Не публикуйте разумный исходный код ...

[РЕДАКТИРОВАТЬ] После нескольких голосов против я решил прокомментировать свой ответ:

Любой опубликованный код может быть взломан. Это причина номер один, почему Javascript небезопасен. Независимо от того, насколько вы его запутываете, сжимаете или переводите на какой-то случайный японский диалект, это все равно исходный код, который у пользователя есть доступ к. Следовательно, он не должен содержать никакой разумной информации, такой как пароли и т. Д. Все важные данные должны храниться на стороне сервера, где они скрыты от пользователя.

Если вы выпускаете php-фреймворк, содержащий как серверный, так и клиентский код; тогда у вас нет способа полностью защитить себя. PHP, как и Javascript, является интерпретируемым языком. Вы можете переводить, сжимать или скрывать его сколько угодно (и это, вероятно, лучшее, что вы можете сделать), вы никогда полностью не защитите его, когда он станет общедоступным.

Опять же ... Если бы существовал волшебный способ предотвратить взлом кода, он был бы известен давно. Заплаты / кряки без компакт-диска для новых игр / программного обеспечения теперь почти выпускаются в тот же день, что и сами программы. Это, как заметил Пол, для вас форма лести, хотя я понимаю, как вам может быть жаль.

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

person koni    schedule 15.06.2009
comment
(-1) Нам, программистам, нужно «публиковать» наш код, чтобы получать деньги. - person DevinB; 15.06.2009
comment
›Devinb:« разумный »исходный код не подразумевает весь исходный код. Я никогда не видел опубликованных исходных кодов, содержащих пароль автора, информацию о доступе к БД или ключи защиты ... Тем не менее, они обычно получают деньги ... - person koni; 15.06.2009
comment
Вы думаете, что этот автор включил свои пароли и ключи защиты? Вы видели его источник? Но, как вы добавили в своем фантастическом редактировании, очень сложно запутать интерпретируемые языки по причинам, которые вы перечислили (это то, что отличает его от вашего первоначального ответа ... объяснения). Молодец! (+1) - person DevinB; 15.06.2009

С PHP вам в основном не везет. Это интерпретируемый язык, что означает, что вы, по сути, вынуждены отдавать исходный код. Конечно, существуют обфускаторы (инструменты, которые «шифруют» исходный код, чтобы сделать его почти невозможным для чтения людьми), но их также можно обойти.

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

person Michael Stum    schedule 15.06.2009

Есть несколько способов справиться с этим:

  1. Предлагайте свой продукт как услугу. Это означает поиск подходящего хостинга в облаке и т. Д. Это закрывает доступ к вашей кодовой базе, предотвращая, таким образом, прямое пиратство. Кто-то все еще может реконструировать ваши материалы, но я коснусь этого позже.
  2. Добавьте уникальный идентификатор к каждой проданной версии скрипта. Это можно сделать автоматически, и это отлично подходит для обфусцированного кода (еще один дополнительный метод). Это даст вам возможность отследить, кто пиратский ваш код. Если вы можете отследить их, вы можете подать на них в суд (или того хуже).
  3. Подайте в суд. Для этого вам в первую очередь нужно знать, кто утек код. Их информации PayPal или даже IP-адреса должно быть достаточно. Вы идете к своему адвокату, просите его получить постановление суда, в котором PayPal / ISP предписывает раскрыть личность вора, а затем начинаете их отслеживать. Если они находятся за границей, ваш единственный реальный вариант - заморозить / присвоить средства с PayPal / кредитной карты. Банки проявят сочувствие только в том случае, если у них есть филиал в вашей стране (который может стать объектом судебных исков).
  4. Игнорируйте это и просто строите свою бизнес-модель на основе той поддержки, которую вы предлагаете.

Печально то, что полностью обезопасить информацию невозможно. Невозможно помешать группе индийских программистов произвести реверс-инжиниринг вашей программы. Так что вам просто нужно быть лучше их и постоянно улучшать свой продукт (это «Хорошая вещь (TM)», так что делайте это в любом случае)

Также имейте в виду, что DRM и другие решения часто вызывают споры и снижают ваши продажи (особенно среди первых пользователей). На личном уровне я бы посоветовал рассматривать это как комплимент. В конце концов, ваш скрипт был настолько полезен, что кто-то удосужился его пиратствовать в течение недели!

person SEK    schedule 21.07.2010

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

person rtpg    schedule 15.06.2009
comment
Обфускация - это безопасность неизвестностью. Другими словами, это вообще не безопасность. - person Thomas Owens; 15.06.2009
comment
Да, но обычно есть более низко висящие плоды. - person gub; 15.06.2009
comment
Но это сузит круг потенциальных хакеров до меньшей группы. - person samoz; 15.06.2009

Как вы думаете, какую защиту вы вообще добавили в PHP-скрипт? Вы должны добавить строку формы:

if ($pirated) exit();

а затем сделайте обязательным (в лицензионном соглашении), чтобы пользователи устанавливали переменную $pirated соответственно.

person gub    schedule 15.06.2009
comment
Однако пираты обычно игнорируют лицензионные соглашения. Изменяя программу, они нарушают обычную оговорку о запрете на вмешательство. - person samoz; 15.06.2009
comment
: D Согласно DMCA, часть лицензионного соглашения, вероятно, даже не нужна: это должно касаться средств защиты от обхода цензуры! - person cheduardo; 15.06.2009
comment
@ onebyone.livejournal.com: Черт, забыл! Спасибо! - person gub; 15.06.2009

Забудьте о попытках предотвратить это

Пойдите путем CakePHP (см. Боковую панель на первой странице) и многих других проектов с открытым исходным кодом и попросите пожертвования .

Люди действительно это делают!

person bobobobo    schedule 15.06.2009
comment
Пожертвования не являются жизнеспособным вариантом для бизнеса. Если это хобби, ничего страшного. Если он пытается создать бизнес, ему следует пойти по маршруту SaaS. - person Scott; 22.04.2011

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

person Alan Haggai Alavi    schedule 15.06.2009
comment
Вы можете сначала попробовать что-то более дружелюбное, имея меньше возможностей для устранения вашей угрозы. Что-то вроде привет, я заметил, что вы пользуетесь моей программой. Было бы здорово, если бы вы купили копию, чтобы я мог кормить свою семью. Вот купон! Спасибо! - person Michael Haren; 15.06.2009
comment
@Idigas, хотя я не обязательно буду делать то, что предлагает Майкл, хакеры по своей природе обижены на авторитет, поэтому угроза им личным адресом электронной почты может и, вероятно, приведет к тому, что они начнут атаковать вас в ответ. - person DevinB; 15.06.2009
comment
И если пират находится в <любой-стране-со-слабым-авторским правом-законом>, он будет смеяться над своей задницей! - person TFM; 15.06.2009

Я согласен с @Michael.

Попробуйте ionCube или Zend Guard. Оба они являются коммерческими предложениями, но вы говорите, что продаете свое программное обеспечение, поэтому оно того стоит. Хотя ничто не является надежным и может быть реконструировано с достаточными усилиями и техническими навыками, эти решения, вероятно, достаточно хороши для среднего поставщика сценариев PHP.

person veroxii    schedule 15.06.2009

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

Любую технику обфускации / дешифрования PHP можно взломать

person Lobe    schedule 15.06.2009

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

Нашел эту ссылку, чтобы помочь в выборе этого маршрута: http://www.keytlaw.com/Copyrights/cheese.htm

person Ian E    schedule 17.11.2011

Вы всегда можете скопировать его самостоятельно в Интернет и надеяться, что любой nuller подумает, что «он уже был схвачен», так что не беспокойтесь. Но пиратская версия настоящая глючная. Когда пользователи обращаются к вам за помощью, вы узнаете, что у них пиратская версия, если они спрашивают вас о конкретных ошибках, которые вы специально добавили, и вы можете обратиться к ним соответствующим образом.

person Exhausted    schedule 02.04.2013

Если ваш скрипт не будет потреблять много трафика, вы можете сохранить свою «логику» на стороне сервера, как предлагал samoz, но если ваши пользователи не будут использовать его быстро (например, сканер), это может стать проблемой.

С другой стороны, вы можете стать ниндзя ...

person Geo    schedule 15.06.2009

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

person Ian Boyd    schedule 15.06.2009

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

В случае с PHP, с другой стороны, если люди запускают ваше программное обеспечение на общедоступных веб-серверах, вы можете легко их найти и удалить. Просто найди адвоката и сдай их полиции. Они также могут нарушать законы DMCA, если снимут вашу защиту, чтобы получить еще больше боеприпасов.

Технический способ защиты вашего кода - обфускация. Это в основном делает ваш код нечитаемым, как двоичные файлы на скомпилированных языках (например, Java). Конечно, обратный инжиниринг возможен, но требует дополнительной работы.

person John Smith    schedule 15.06.2009

В общем, трудно предотвратить кражу кода пользователями, если программа написана на языке сценариев и распространяется в виде простого текста. Я обнаружил, что http://feedafever.com/ действительно хорошо справились с продажей кода PHP. но все же дать код пользователям.

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

Я также предлагаю взглянуть на некоторые из ваших любимых программ и посмотреть, как они убедили вас заплатить за них изначально. Проблема, которую я нахожу, не всегда заключается в том, «как я могу предотвратить кражу моего программного обеспечения пользователями», а иногда больше в том, «как мне убедить своих пользователей, что в их интересах платить мне». Программное пиратство часто возникает, когда цена на ваш продукт завышена (спросите своих друзей, сколько они будут платить за программный пакет, подобный тому, который вы продаете, я обнаружил, что исторически я завышал цену на свое программное обеспечение на 20%).

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

person icco    schedule 21.07.2010

Уловка состоит не в том, чтобы попытаться предотвратить пиратство (в долгосрочной перспективе это проигрышная битва), а в том, чтобы сделать легитимную версию вашего продукта более доступной и / или более функциональной, чем пиратские версии.

«Повышение функциональности» обычно означает предоставление зарегистрированным пользователям дополнительных функций или услуг, которые пираты не могут бесплатно воспроизвести. Это могут быть печатные материалы (руководство пользователя, подарочный сертификат и т. Д.), Такие услуги, как поддержка по телефону или помощь в настройке продукта, или онлайн-дополнения в программном обеспечении.

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

«Сделать его более доступным» означает упростить получение вашего законного программного обеспечения, чем пиратскую копию. Если кто-то заходит в Google в поисках вашего программного обеспечения, и первым результатом является пиратский сайт загрузки, они заберут пиратскую копию. Если первым результатом является ваша домашняя страница, они с большей вероятностью ее купят. Это особенно важно для недорогого программного обеспечения: пиратское программное обеспечение может быть «бесплатным», но обычно для его получения требуется больше усилий. Если эти усилия перевешиваются низкой стоимостью и отсутствием усилий, чтобы просто купить его на законных основаниях, то вы выиграли битву.

person Spudley    schedule 11.04.2011

Я видел, как работает антипиратство только однажды. Системы Quantel EditBox (решение для постобработки видео), Аппаратное обеспечение + программное обеспечение + Интернет-решение против пиратства. Рабочее место работает только после проверки получения банком ежемесячной арендной платы. В противном случае рабочая станция заблокирована. Забавные дни, когда это происходит ... (Забавные дни для меня, никакой работы ... Не смешной день для хакера.) Ну, PHP далек от аппаратных решений ... так что я думаю, ваш единственный реальный выбор - это сторона сервера защищена от крошечного небезопасного клиента, отправляющего контент, как указано в некоторых ответах.

person H_7    schedule 29.02.2012

пиратство! = нарушение авторских прав

Известны способы привлечь к суду нарушителей авторских прав.

Достаточно ли важно нанять команду юристов?

person Kieveli    schedule 15.06.2009
comment
Цитата из Википедии: «Для электронных и аудиовизуальных носителей несанкционированное воспроизведение и распространение также обычно называют пиратством [...] Практика обозначения нарушения прав как пиратства предшествует установленному законом авторскому праву». - person Agos; 21.07.2010

Обфускация действительно что-то добавляет. Будет неинтересно пытаться изменить ваш код, по крайней мере, даже если они могут взять его первую версию. В лучшем случае они попытаются найти какой-нибудь проект с открытым исходным кодом, который делает что-то подобное. Думаю, это поможет вам быстро решить, по крайней мере, вашу проблему?

person nandarya    schedule 15.06.2009