Закрыть исходный код
Пару раз попадались сайты, на которых нельзя было посмотреть исходный код.
Причем, на одном из них просто на правую кнопку мыши браузер не реагировал никак, а на другом окно открывалось, но в нем было сообщение о том, что вебмастер закрыл исходный код.
Кто знает, подскажите пожалуйста, как это делается технически? Какими тегами?
16382 сообщения
# 14 лет назад
Поможет такое «закрытие» мало. Исходный код все равно получить можно. Тот кому он нужен не остановится перед такими защитами. ИМХО!
2206 сообщений
# 14 лет назад
В опере Вид/Исходный код или CTRL+U. В IE тоже через меню.
209 сообщений
# 14 лет назад
49 сообщений
# 14 лет назад
Всегда есть исходный код. иначе вашему браузеры было бы нечего показывать.
«Закрывается» код javascript’ом, точнее он не закрывается, а, например, делает невозможным выделение, и заменяет стандартное контекстное меню, появляющееся по нажатии правой кнопкой мыши, своим, где нет пункта «Просмотреть исходный код».
1322 сообщения
# 14 лет назад
Alex_Koval, а покажите ссылки пожалуйста
2817 сообщений
# 14 лет назад
Цитата («PaulShark»):
От всех исходник не спрятать).. максимум — от некоторых нубов, чтобы не тырили яскрипты с сайта и некоторые элементы, лично разработаны (жалко, когда паришься, делаешь, потом какой нибудь перец украдёт, и выдает за своё).
на крайняк может это поможет: ссылка
1623 сообщения
# 14 лет назад
Pixorama, нужно, чтоб он не у меня закрыт был, чтоб остальные его не открывали
BOB41K, а как javascript’ом? Можно пример кода? .
vovan_f, в том-то и дело, что натыкалась давно, ссылок не помню
1623 сообщения
# 14 лет назад
kirilev, спасибо, посмотрю как это можно использовать.
2206 сообщений
# 14 лет назад
Цитата («Alex_Koval»):
Pixorama, нужно, чтоб он не у меня закрыт был, чтоб остальные его не открывали
Так я и написал, каким образом такая «Защита» обходится
49 сообщений
# 14 лет назад
ссылка — например тут.
если отключить js, то весь эффект «защиты» сразу пропадает
1623 сообщения
# 14 лет назад
Pixorama, спасибо, поняла
185 сообщений
# 14 лет назад
Цитата («Alex_Koval»):
Pixorama, нужно, чтоб он не у меня закрыт был, чтоб остальные его не открывали
BOB41K, а как javascript’ом? Можно пример кода? .
vovan_f, в том-то и дело, что натыкалась давно, ссылок не помню
ничего у Вас не получится. использование javascript для этого — слишком сермяжная хитрость. ( другими словами — бестолково)
Единственный вариант делать java applets или Flash — это может значительно усложнить вытягивание контента.
702 сообщения
# 14 лет назад
Цитата («Alex_Koval»):
Пару раз попадались сайты, на которых нельзя было посмотреть исходный код.
Но браузер ведь смотрит !
16382 сообщения
# 14 лет назад
А конечная задача в чем состоит? Можно попробовать обфускацию как рекомендует kirilev. Это да, это имеет определенный эффект. А просто «костыль» проблемы не решит.
1649 сообщений
# 14 лет назад
Никак. Можно только усложнить просмотр.
96 сообщений
# 14 лет назад
Цитата («Alex_Koval»):
Кто знает, подскажите пожалуйста, как это делается технически?
Первое реализуется при помощи javascript, пример здесь ссылка , но при отключенном javascript не работает.
Второе — делать именно так, как вы описали можно несколькими путями: фреймы, динамическая подгрузка контента при помощи dhtml или ajax.
На сегодняшний день обычно не используют эти методы, а пользуются обфускаторами, т.е. кодированием исходного кода html и javascript.
Практика — ни разу не встретил обфускатор (включая платные), на декодирование результата работы которого понадобилось бы более чем полчаса.
Вывод — можно взять любой из обфускаторов или использовать фрейм, но особо изощряться по данному вопросу не стоит, так как подобного рода защита поможет только от нубов.
2817 сообщений
# 14 лет назад
Цитата («stealthdebuger»):
Практика — ни разу не встретил обфускатор (включая платные), на декодирование результата работы которого понадобилось бы более чем полчаса.
очень оптимистично
1036 сообщений
# 14 лет назад
Цитата («Alex_Koval»):
а на другом окно открывалось, но в нем было сообщение о том, что вебмастер закрыл исходный код.
А если прокрутить страницу на пару экранов ниже — то вот он, ваш код)
Сам поначалу офигел когда наткнулся) Но вообще без кода страница не может быть.
Можно ли закрыть обратно открытый исходный код?
Эта концепция кажется довольно простой для любого человека, некоторое время работавшего с открытым исходным кодом: проект, однажды выпущенный в виде открытого кода, остаётся открытым навсегда. Конечно, разработчик может решить, что будущие версии проекта будут закрытыми, и иногда такое случалось, но то, что уже выпущено на свободу, отозвать обратно не получится. У интернета нет кнопки «удалить»; опубликовав свой код, и дав миллионам людей потенциальную возможность скачать его, загнать джина обратно в бутылку не получится.
Но что насчёт уважительных причин? Что, если проект превратится во что-то, к чему вы больше не хотите иметь отношения? Возможно, вы отправляли свой код для проекта, имея представление о том, как его будут использовать, а потом правила поменялись. Или же вас забанили на этом проекте, и при этом у людей, поддерживающих его, нет проблем с тем, чтобы оставить ваш значительный вклад в виде кода, даже когда вас выкинули на обочину?
Из-за того, что некоторые люди считают вынужденным изменением в правилах поведения разработчиков Linux, у некоторых разработчиков наиболее исключительного проекта с открытым кодом в мире возникают вопросы. С такой ситуацией сообществу приходится сталкиваться редко, и такого ещё никогда не случалось с проектом подобного масштаба.
Действительно ли невозможно отозвать исходный код, отправленный в проект, выпущенный под такой свободной и открытой лицензией, как GPL? А если можно, то что тогда будет? Что случится, если окажется, что миллиарды устройств, исполняющие у себя ядро Linux, нарушают интеллектуальные права одного разработчика? Эти вопросы крайне важны для интернета и, вероятно, даже нашего образа жизни. Однако ответы на них найти не так легко, как вам могло бы показаться.
Копилефт и права на владение
GPL известна как лицензия с копилефтом, добавляющая прав конечным пользователям, которые без этого оказались бы ограничены законами об авторских правах. Она, к примеру, даёт пользователю права копировать работу и создавать её производные. Важный момент: такие копилефт-лицензии, как GPL, не заменяют копирайта – они его лишь дополняют. Права на оригинальный код остаются у его автора, и, в итоге, основного владельца.
Это порождает концепцию двойного лицензирования: единственный автор программы может выпустить её под несколькими лицензиями одновременно, причём обычно одна из них позволяет делать с программой больше остальных. К примеру, версия программы для Windows может иметь закрытый код, а для Linux – открытый, даже если сам код программ не отличается. Чаще это используется для того, чтобы под одной лицензией программу использовали в коммерческих целях, а под другой, более свободной – в личных.
У некоторых проектов с открытым кодом, обычно больших и имеющих поддержку корпораций, иногда встречается Contributor License Agreement. Этот документ описывает все необходимые дополнительные требования и правила по добавлению кода в проект, и обычно содержит пункт, объясняющий, что человек, вносящий код, передаёт право на него владельцу проекта. К примеру, вот часть такой лицензии от Google:
По правилам и условиям данного соглашения вы передаёте Google и получателям ПО, распространяемого компанией, бессрочные, всемирные, не эксклюзивные, бесплатные, не требующие отчислений, безотзывные права на воспроизведение, создание производных работ, публичную демонстрацию, публичное исполнение, повторное лицензирование и распространение вашего вклада и производных работ от него.
Стоит отметить, что Linux не использует такое соглашение, поэтому права на любой внесённый разработчиком код остаются за ним.
Репутационные потери
Так что если разработчик свободен в выборе лицензий для распространения своего кода вплоть до диаметрально противоположных (открытый и закрытый код), и общепризнано, что в отсутствии CLA у него остаётся неоспоримое право на написанный им код, то ситуация становится щекотливой. Разве из этого не следует, что у разработчика остаётся право отозвать своё обещание сделать код открытым, если возникнет ситуация, которая заставит его считать, что код уже не стоит открывать?
Эрик Рэймонд
Эрик Рэймонд, один из основателей инициативы открытого кода, Open Source Initiative, и автор трилогии «Собор и Базар», считает, что у них такое право есть. В записи в списке рассылки Linux Kernel Эрик, в частности, обращается к угрозе, сделанной некоторыми разработчиками, по поводу отзыва их исходного кода из ядра:
Для начала позвольте мне подтвердить, что это не пустая угроза. При основании Open Source Initiative я изучал связанные с этим законы. В США существует прецедентное право, подтверждающее, что репутационные потери, связанные с преобразованием прав участника проекта под GPL, могут рассматриваться в суде. Я не знаю о существовании прецедентного права вне США, но в странах, соблюдающих Бернскую конвенцию без поправок США на «моральные права» [после присоединения к Конвенции США заявили, что моральные права уже защищаются положениями о клевете и, соответственно, не требуют дополнительного регулирования / прим. перев.], эта статья конвенции, вероятно, ещё больше упрочит позицию противников в суде.
Секция 6 Бернской конвенции поясняет, что изначальный автор работы, даже передав свои права другому лицу или организации, может возражать против её использования, если ему кажется, что её используют «в ущерб его чести и репутации». Так что, в теории, недовольны разработчик должен лишь убедить судью, что руководители проекта навредили его репутации, допустим, публично забанив за нарушение правил поведения, в результате чего тот может обязать проект прекратить использовать их код вне зависимости от использовавшейся лицензии.
Критика
Но остаётся вопрос того, может ли разработчик реально «отозвать» права, переданные по GPL? Если мы говорим о GPLv2, которой следует Linux, то наиболее подходящий пункт содержится в секции 4.
При этом действие лицензии, предоставленной вами третьим лицам, получившим от вас копии или права согласно этой лицензии, не будет прекращено, пока эти лица будут полностью соблюдать её условия.
Интересно, что в GPLv3 правила сильно ужесточились:
Все права, предоставленные согласно Данной лицензии предоставляются на срок действия авторского права на Программу, и не могут быть отозваны при условии, что установленные условия соблюдены.
Некоторые считают, что это отличие может оказаться критически важным. Юридически «отзыв» обычно означает, что соглашение было отозвано тем, кто его предлагал (тут – изначальный разработчик), а «прекращение» просто означает конец действия соглашения. В результате остаётся пространство для интерпретаций, и в принципе, можно утверждать, что поскольку в GPLv2 не указано, что разработчик не может отзывать свои права, эта возможность сохраняется.
Неизученные территории
С учётом оценки Эрика Рэймонда, по которой разработчик может заявлять о том, что проект, в котором он участвует, порочит его репутацию, и того факта, что в текущей лицензии Linux разработчикам напрямую не запрещено отзывать свой вклад, ситуация становится туманной, и пока никто ни в чём не уверен. Мы находимся в неизведанной местности, и старые предположения могут не выдержать юридической экспертизы.
Также стоит упомянуть, что в игру может вступить такая юридическая концепция, как «эстоппель» – она, по сути, запрещает лицу забирать назад своё обещание, если другое лицо уже предприняло шаги на основании этого обещания. То есть, если вы сказали кому-то, что он может использовать ваш код, и он использовал его для создания успешного проекта, вы не можете передумать, поскольку тем самым нанесёте ему ущерб.
С практической точки зрения, даже если бы человек смог защитить свою точку зрения в суде, требуя удалить свою часть кода из Linux, это было бы физически невозможно сделать. И тогда вместо возможности удалить код из устройств, которые с этого момента нарушают авторские права, упомянутый разработчик, скорее всего, получит некоторое денежное вознаграждение. Что всё равно станет ужасным прецедентом для открытого сообщества: обиделся – получил компенсацию.
В итоге, разговоры об отзыве лицензий на открытый код ошибочны. Перефразируя Иена Малькольма, персонажа «Парка Юрского периода»: обиженные разработчики так заняты размышлениями о том, могут они это сделать или нет, что у них не остаётся времени подумать о том, должны ли они это делать вообще. После появления легального прецедента, по которому разработчик может отозвать свой код из открытого проекта, открытое сообщество будет разрушено. У открытого ПО ушли десятилетия на то, чтобы достичь сегодняшнего процветания, но поспешные действия нескольких несчастных разработчиков могут утащить его обратно в область идей, которые лишь хочется воплотить в жизнь.
- Open source
- Разработка под Linux
- Законодательство в IT
как спрятать исходный код сайта
Я хочу чтобы мой исходный код сайта(коды HTML CSS JAVASCRIPT и проч) были не доступны для чтения пользователей.ведь в браузере есть такая функция просмотра кода.а мой код уникальный.особенно уникальны мои скрипты.Я могу их продавать.готов купит авторское право.в программах платных исходник закрыт и его нельзя копировать и изменять.могу ли Я как нибудь сделать так же со своим сайтом? сайт такая же программа.
Голосование за лучший ответ
замазать краской..
Если ты его спрячешь, то спрячешь и от браузера тоже. Тогда что браузер будет показывать?
Короче, это невозможно.
Сайт — программа только с точки зрения серверных или клиентских скриптов. HTML-разметка — не программа. Но авторские права у тебя есть. Если заметишь, что кто-то украл твой скрипт (и если ты не давал на это разрешения) , и, главное, сможешь это доказать, то можешь идти в суд.
Никак. Если ваш сайт отображается браузером, значит браузер его понимает. Ну и соответственно пользователь с руками тоже сумеет посмотреть код страницы. От встроенной функции просмотра кода спрятаться можно, крипторов в сети достаточно. Но обходятся они довольно легко.
ну че ж нет
просто по-максимуму запихните в CSS и сделайте ссылки на скрипты на этот CSS.
И вроде скрипты на ПХП не отображаются браузерами — так-что учите его)))
Посетители сайта не видят только серверные скрипты типа PHP, а клиентская часть в виде HTML, CSS, JS всегда передается ему, чтобы он ее отобразил, и никак нельзя закрыть исходный код, такие принципы работы.
Лооол=) и как браузеру тогда прикажешь отображать страницу? =)
Ты хоть понимаешь, КАК работает браузер и что ты отправляешь клиенту, когда он смотрит твою страницу? =)
CSS и JavaScript можно сжать и обфусцировать (запутать, затруднить чтение) . Например, при помощи http://developer.yahoo.com/yui/compressor/
Есть даже онлайн сервис для этого: http://refresh-sf.com/yui/
Можно отключить контекстное меню. Но в целом ваша позиция не верна.
выход только один: сайт должен быть на ПХП / цги, а выдаваемый ими хтмл-код особой ценности не имеет, т. к. очевиден во всех значниях этого слова. Если уж совсем хочется хардкора, то пусть вместо хтмл выдаётся набор картинок и к ним совсем простой хтмл с описанием ссылок.
Закрытый исходный код
В контексте лицензирования программного обеспечения и открытого исходного кода «закрытый исходный код» относится к типу модели разработки и распространения программного обеспечения, при которой исходный код программного обеспечения не доступен для публичного просмотра, модификации или распространения. Этот подход отличается от модели с открытым исходным кодом, где разработчики программного обеспечения делают свой исходный код доступным для просмотра, использования и изменения по мере необходимости. Программное обеспечение с закрытым исходным кодом, часто называемое проприетарным программным обеспечением, защищено законами об авторском праве и положениями о коммерческой тайне, которые устанавливают ограничения на использование, копирование, распространение и обратное проектирование программного обеспечения. Эта модель отражает более традиционный подход к созданию программного обеспечения, при котором компании или отдельные разработчики создают проприетарные приложения и сохраняют исключительное право собственности на свою интеллектуальную собственность.
В программном обеспечении с закрытым исходным кодом конечные пользователи обычно получают скомпилированные исполняемые двоичные файлы, а не исходный, удобочитаемый исходный код, что не позволяет пользователям получать доступ, изменять или понимать внутреннюю работу программного обеспечения. Это ограничение введено намеренно для защиты интересов разработчика или компании, владеющей правами на программное обеспечение. Сохраняя конфиденциальность исходного кода, разработчики с закрытым исходным кодом сохраняют контроль над разработкой своего продукта, ограничивают доступ к его функциям и технологиям и получают доход, взимая с клиентов плату за лицензии, обслуживание и поддержку.
Хотя программное обеспечение с закрытым исходным кодом может быть менее гибким и адаптируемым по сравнению с программным обеспечением с открытым исходным кодом, оно предлагает ряд преимуществ, которые способствуют его широкому использованию на рынке. Например, разработчики с закрытым исходным кодом могут гарантировать качество, стабильность и безопасность своих продуктов, сохраняя полный контроль над циклом разработки и обновлений. Они также могут предоставлять прямую техническую поддержку своим клиентам, защищать свои инновационные технологии от конкурентов и обеспечивать поток доходов за счет лицензионных сборов за программное обеспечение и других стратегий монетизации.
Платформа AppMaster no-code предлагает клиентам простой способ создания серверных, веб- и мобильных приложений, предоставляя сгенерированный исходный код для приложений в их корпоративной подписке. Это позволяет клиентам продолжать разработку и модификацию своих приложений по мере необходимости. Хотя исходный код созданных приложений может быть доступен клиентам, AppMaster сохраняет за собой права и право собственности на базовую платформу и технологию. Платформа использует комбинацию Go (golang) для серверных приложений, инфраструктуры Vue3 и JS/TS для веб-приложений, Kotlin и Jetpack Compose для Android и SwiftUI для iOS при создании приложений.
Несмотря на растущую популярность проектов с открытым исходным кодом, модель с закрытым исходным кодом остается распространенной в определенных контекстах, где разработчики отдают приоритет сохранению контроля и обеспечению своего дохода. Примеры успешного программного обеспечения с закрытым исходным кодом включают операционные системы, такие как Microsoft Windows и macOS, а также настольные приложения, такие как Microsoft Office и Adobe Creative Suite. Эти продукты характеризуются запатентованным характером, и их разработчики часто используют различные модели лицензирования для продвижения на рынок и распространения их среди клиентов.
Важно отметить, что программное обеспечение с закрытым исходным кодом было предметом многочисленных дебатов в индустрии программного обеспечения, особенно в отношении его аналога с открытым исходным кодом. Некоторые утверждают, что модель с закрытым исходным кодом препятствует инновациям, поскольку она не поощряет совместную разработку и запрещает другим разработчикам использовать существующие технологии. Другие утверждают, что программное обеспечение с закрытым исходным кодом может обеспечить лучшую стабильность, качество и безопасность, поскольку разработчики сохраняют полный контроль над развитием программного обеспечения и устраняют уязвимости собственными силами, прежде чем выпускать обновления для своих клиентов.
В заключение отметим, что программное обеспечение с закрытым исходным кодом представляет собой особый подход к разработке и распространению программного обеспечения, при котором исходный код остается эксклюзивным, проприетарным и конфиденциальным. Эта модель позволяет разработчикам сохранять контроль над своим продуктом, защищать свои права интеллектуальной собственности и получать доход за счет лицензионных сборов и других методов. Хотя оно, возможно, и не способствует такой же степени сотрудничества или свободы, как подход с открытым исходным кодом, программное обеспечение с закрытым исходным кодом продолжает играть значительную роль в индустрии программного обеспечения, предоставляя разработчикам и предприятиям надежную, проверенную на рынке альтернативу для создания, распространения и монетизировать свои программные приложения.