Защита от копирования ..
Ребят. Подскажите как мне вписать в (основной) исполняющий скрипт JS, проверку адреса сайта? И вывод сообщения если ссылка не соответствует указанной?
Нужно чтобы если кто-то рипнет сайт, чтобы у него выскакивало окно с сообщением, что сайт защищен ! А при удалении скрипта , он лишался основных функций или стилей.. но желательно стилей.. |
Georka,
то есть вы предполагаите что тот, кто возьмёт ваш скрипт, не сможет убрать проверку на адрес сайта? вам много раз сказали что бесполезно, нельзя, почему вы так упорно возвращаитесь к этой теме? |
Я понимаю что нельзя, но я хочу создать максимум неудобств ! Скажите пожалуйста, как сделать так как я выше указал ? Чтоб сообщение выходило если ссылка открытия не соответствует..?
|
Рони, очень нужно.. плиз )
|
Georka,
window.location изучить что это такое и сделать нужный вам код |
Чувак, просто пойми одно: твой код никому не нужен. Раз ты с завидной частотой задаёшь вопросы такого характера, то уж точно не сможешь написать чего-то гениального. Лучше потрать силы на изучение чего-то нового, а не страдай ерундой.
|
Ок. А как мне просто сделать проверку адреса сайта. И в случае не совпадения, Вывести сообщение на экран?
|
Самое смешное что как правило сильно заботятся о сохранении "копирайта" те, кто практически все стырил для своего сайта. То есть они знают что стырить легко, но верят что есть какие-то чудесные способы не дать стырить.
Нет таких способов. |
Цитата:
Очевидно есть критическая точка, когда затраты на декодинг превышают затраты на создания собственного диза с нуля по образцу(если уж оч понравилось) |
Deff,
а когда wasm релизнут, так ещё проще будет) |
Georka, грамотный алгоритм защиты здесь такой:
1. берем имя домена того сайта, к которому нужно привязать js скрипт и вычисляем от этой строки какую-нибудь хэш функцию, запоминаем 2. в защищаемом скрипте читаем через window.location текущий домен и считаем ту же хэш функцию от полученного имени домена 3. сравниваем результаты 1 и 2, если не совпадают, значит скрипт скопировали и залили на другой сайт - показываем сообщение пользователю или делаем редирект на страницу с сообщением "скрипт скопирован с supersitename, это плохо и ай-я-яй". 4. защитить текст скрипта каким-нибудь криптором, а лучше криптором-обфускатором Поясню, зачем нужно такое усложнение с хэш-функцией: если просто вписать в тексте скрипта имя вашего домена, то нужную строку в тексте просто найдут и отредактируют. Если скрипт защитить криптором, то сделать это будет заметно сложнее, но найдя один раз, дальше будут легко править под любой домен. А вот если в тексте скрипта есть только значение хэша от имени домена да еще и сам текст закрыт обфускатором, то тут уже придется для смены привязанного к скрипту домена снимать всю защиту, искать где-там и как реализована проверка, переписывать/править и только потом скрипт можно будет использовать где-то на другом сайте. В итоге задача взять чужой скрипт и использовать у себя усложняется до уровня, когда проще скрипт написать заново, что нам собственно и нужно. Если не хочется заниматься реализацией этой схемы самому, есть готовые платные решения, например вот. И более-менее нормальная защита и привязка к домену в одном флаконе. |
Просто гениальная защита так много продуманных действий xD.
Да как не исправляй свое сообщение все равно это глупость ). +function (){ var window = {location:"KakoyUgodnoDomen.com"}; alert (window.location) }(); |
MallSerg, если хочеться съехидничать, то желательно сначала подумать, а то можно самому попасть в глупое положение .)
Допустим переопределил ты window столь незамысловатым образом и что? В реальном скрипте код ниже 2-й строчки даст ошибку при первом обращении к свойству или методу window кроме location. function (){ var window = {location:"KakoyUgodnoDomen.com"}; var x=window.open(); //будет ошибка var d=window.document.write("и здесь ошибка тоже"); alert(window.location) }(); А учитывая, что, как я писал выше, сам скрипт защищается правильным криптором-обфускатором, там таких обращений будет очень много. В итоге скрипт на другом домене все равно не заработает, что и требуется. |
Ну если бы ты хоть немного знал бы JS то понимал бы что вся твоя защита обходится парой строк и не вызывает трудностей даже для начинающих кодеров =)
<script>var glob = window; +function f (){ var window = {location:"KakoyUgodnoDomen.com",__proto__:glob}; //var x=window.open(); //будет ошибка var d=window.document.write("и здесь ошибка тоже"); alert (window.location); }();</script> И, да. Я хочу съехидничать xD. |
MallSerg,
Он просто пиарит свой сраный обфускатор, посты его посмотри. |
Задача интересная.
Нужно сделать несколько проверок в нескольких местах. Нужно устанавливать класс для body и нескольких других каркасообразующих элементов. Устанавливать его через js, чтобы в случае удаления ваших скриптов ломался и сайт. Весь js нужно шифровать, компрессировать. Заморачиваться не стоит над мелочами и "суперзащитой". Вероятность того, что сайт скопируют очень мала. Вероятность того, что сайт скопируют и будут возиться с выпиливанием ваших защит ещё меньше. |
О виликий гуру MallSerg, наконец ты (со второй попытки) написал пример сферического "взлома защиты", который не рушит весь нижележайший код )
Но хочу заметить, что добавление одного маленького слова "this." перед window тут же лишает все твои движения мысли по "взлому" ожидаемого тобой эффекта. <script> var glob = window; (function f(){ var window = {location:"KakoyUgodnoDomen.com",__proto__:glob}; // alert(this.window.location); // })(); </script> Эй, юноша Sigizmund2012, побольше уважения в голосе. Ты пока принес в этот топик полезных идей в колличестве ровно ноль, в отличии от MallSerg, который хоть и в своеобразной форме, но пытается дать конструктивную критику концепции защиты о которой спрашивал ТС. |
Цитата:
Как вариант отправлять не страницу а скрипт, который в последствии грузит страницу...или не грузит Есть наверняка варианты и покрепче, хотя конечно на каждый лом найдется лом побольше |
viktorina, полностью согласен.
"Суперзащита" тут конечно невозможна, при должном уровне старания и времени взломать можно все. Цель не в этом. Цель сделать процесс снятия защит затратнее, чем написание нужного кода заново. Так что применение обфусцированного кода, в который убирается часть логики сайта из основных скриптов, тут самое разумное решение. |
Часовой пояс GMT +3, время: 18:26. |