Как защитить сайт от копирования ?
Всем привет. Скажите как защитить JS или CSS от копирования, (РИПА)?
Прошу без лишних вопросов, типа зачем и т.д. Я обращаюсь к тем у кого есть знания в этом деле.. |
Никак. Это просто невозможно, т.к. код в любом случае грузится в браузер.
|
Safort,
Ну типично есть два вида халявщиков: 1. Без особых знаний и навыков, тырящих стандартно с исходника страницы 2. Продвинутые риперы, имеющие навыки. Соотношение первых и вторых 90 к 10. Так что даже слабенькая защита от открывашки по контрл-U и сворачивание стиля в обфусцированный скрипт и обфускация скриптов позволят избавится от этих 90%, -опыт администрирования более миллионного форума сервисов. Свернуть стиль в скрипт достаточно просто через функцию (или чисто кодированный контент аяксом)
<script type="text/javascript">
function addContent (){ /*==123==;
<style type="text/css">
#pun .main{
display:none;
}
</style>
==123==;*/
} addContent = addContent.toString().split('==123==;')[1]
</script>
3. Можно настроить сервер на отпуск скриптов и стилей лишь на определённый домен. Открытие вне домена будет давать 404. 4. Однократная подгрузка скриптов и стилей на LocalStorage при чистом кеше, с последущей вставкой на страницу из Storage. Т.е надо еще догадаться. ========================= Ксать сверхнавороченные дизайны редко тырят, тырят простореализуемые и симпатичные |
Как мне реализовать JS вариант?
При копировании сайта нужно чтобы на сайте вора , появлялось окно что сайт является копией. А когда этот JS удаляли то удалялись и главные функции сайта.. Тоесть - Основной JS сайта.. |
Ярким примером этому может послужить моя JS-разработка - анимированная заставка "круговой узор":
http://opan1.16mb.com/u/index.htm При попытке скопировать на другой сайт появляется сообщение "Копирование не удалось. Скрипт не фунциклирует." Суть защиты такова: код основного алгоритма зашифрован, а для расшифровки требуется ввести числовой ключ, который формируется и подставляется автоматически учитывая разные свойства документа - имя домена, размер в байтах, сумму кодов всех символов в документе (другими словами, контрольную сумму). И лишь в том случае, если ключ подходит, код основного алгоритма расшифровывается и запускается, если нет - то вместо этого выводится сообщение. Если исходник перенести на другой сайт, имя домена изменится, и ключ уже станет другим, т. е., не подойдёт. Так же и после любого изменения содержимого документа. |
Просто не выкладывайте свой сайт в интернет.
И вам спокойнее и интернету легче. |
Цитата:
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<script>
document.write("<canvas id=rty>");
if (window.innerHeight < window.innerWidth){
vh = window.innerHeight;
} else {
vh = window.innerWidth;
}
g = 100;c = 2;col1 = 8;col2 = 8;r = vh / 2.2;
b = 0;rt = 1;sdv = 0;sdv1 = 0;cc = 35;sz = 10;
sz1 = 10;v = 1;mod = 1;rt = 1;rtx1 = 1;rty1 = 1;
pr = 1;st = 0;st1 = 0;
a = document.getElementById("rty");
a.width = vh;a.height = vh;
b = a.getContext("2d");r1 = r;
function rty2() {
b.fillStyle = "rgb(" + (128 + Math.floor(128 * Math.sin(st / 1))) + "," + (128 + Math.floor(128 * Math.sin(st / 2))) + "," + (128 + Math.floor(128 * Math.sin(st / 5))) + ")";
b.globalAlpha = 1;
i = 0; for (;i < Math.PI * g * c;i++) {
x = r + r1 * Math.sin(i / g) * (1 - v + v * Math.sin((i / g + sdv) * col1));
y = r + r1 * Math.cos(i / g) * (1 - v + v * Math.sin((i / g + sdv) * col2));
b.fillRect(x, y, 1, 1);
}
st++;
r1 -= sz1;
sdv = st * (0.01 + sdv1);
}
function sdf() {
vh = window.innerHeight;
r = vh / 2.2; st = 0; sdv = 0; r1 = r;
b.fillStyle = "#010101"; b.globalAlpha = 0.02;
b.fillRect(0, 0, vh, vh); j = 0;
for (;j < 25;j++) { rty2(); }
st1 += 0.3;
sz1 = 15 + 10 * Math.sin(st1 / 17.3);
sdv1 = 0.1 * Math.sin(st1 / 29.7);
v = 0.6 + 0.4 * Math.sin(st1 / 43.5);
}
sdf();
setInterval("sdf()", 100);
</script>
<head>
<body>
</body>
</html>
|
Ещё более забавно, что это уже второй случай, когда мой расшифрованный код выкладывают на форуме, а не в личку. Типа я для этого обфусцировал :) Ладно, придётся к этому привыкать.
|
Опан,
какие здесь проблемы? Может проблемы в тебе? Сам показал, что круто защитил, привел ссылку. В топике здесь же и говорят что нельзя защитить вот твой пример и в доказательство :lol: Как говорят, на крутую жопу всегда находится крутой ... |
Все еще защищаете
Цитата:
|
MallSerg,
если не секрет, как Вы добились просмотра кода? Poznakomlus, любую прогу на компе тоже можно дизассемблировать, так что единицы и ноли на жёстком диске тоже скрыть невозможно. Особенно в "восторге" от этого авторы платных программ. Логической разницы с JS я пока не вижу. |
99% обфускаторов используют eval
перед выполнением кода(поставив точку остонова на первой строке скрипта и обновив страницу) просто переопределить eval выполнив в консоли простой код.
var ev = eval ,
myEval = function ( s,c) { console.log ( s,c); ev (s,c)};
eval = myEval ;
Мега защита и трех секунд не продержалась =(. |
Цитата:
я правда не "eval-заглушкой" пользовался, а деобфускатором для файрфокса - https://addons.mozilla.org/firefox/a...t-deobfuscator еще никогда не подводил меня, вроде норм) Цитата:
|
Во время предыдущего разоблачения запустили какой-то алгоритм по автоматическому подбору ключа.
|
|
| Часовой пояс GMT +3, время: 21:42. |