Javascript-форум (https://javascript.ru/forum/)
-   (X)HTML/CSS (https://javascript.ru/forum/xhtml-html-css/)
-   -   Как защитить сайт от копирования ? (https://javascript.ru/forum/xhtml-html-css/56615-kak-zashhitit-sajjt-ot-kopirovaniya.html)

Georka 25.06.2015 12:59

Как защитить сайт от копирования ?
 
Всем привет. Скажите как защитить JS или CSS от копирования, (РИПА)?
Прошу без лишних вопросов, типа зачем и т.д.

Я обращаюсь к тем у кого есть знания в этом деле..

Safort 25.06.2015 13:48

Никак. Это просто невозможно, т.к. код в любом случае грузится в браузер.

Deff 25.06.2015 21:12

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. Т.е надо еще догадаться.
=========================
Ксать сверхнавороченные дизайны редко тырят, тырят простореализуемые и симпатичные

Georka 25.06.2015 23:21

Как мне реализовать JS вариант?

При копировании сайта нужно чтобы на сайте вора , появлялось окно что сайт является копией.
А когда этот JS удаляли то удалялись и главные функции сайта.. Тоесть - Основной JS сайта..

Опан 26.06.2015 00:24

Ярким примером этому может послужить моя JS-разработка - анимированная заставка "круговой узор":
http://opan1.16mb.com/u/index.htm
При попытке скопировать на другой сайт появляется сообщение "Копирование не удалось. Скрипт не фунциклирует."
Суть защиты такова: код основного алгоритма зашифрован, а для расшифровки требуется ввести числовой ключ, который формируется и подставляется автоматически учитывая разные свойства документа - имя домена, размер в байтах, сумму кодов всех символов в документе (другими словами, контрольную сумму). И лишь в том случае, если ключ подходит, код основного алгоритма расшифровывается и запускается, если нет - то вместо этого выводится сообщение. Если исходник перенести на другой сайт, имя домена изменится, и ключ уже станет другим, т. е., не подойдёт. Так же и после любого изменения содержимого документа.

vasa_c 26.06.2015 18:48

Просто не выкладывайте свой сайт в интернет.
И вам спокойнее и интернету легче.

MallSerg 27.06.2015 12:15

Цитата:

Сообщение от Опан
Ярким примером этому может послужить моя JS-разработка

Самое забавное что оно само выдало весь код на 2м или 3м евале =)
<!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>

Опан 27.06.2015 23:09

Ещё более забавно, что это уже второй случай, когда мой расшифрованный код выкладывают на форуме, а не в личку. Типа я для этого обфусцировал :) Ладно, придётся к этому привыкать.

Vlasenko Fedor 27.06.2015 23:15

Опан,
какие здесь проблемы? Может проблемы в тебе? Сам показал, что круто защитил, привел ссылку. В топике здесь же и говорят что нельзя защитить вот твой пример и в доказательство :lol:
Как говорят, на крутую жопу всегда находится крутой ...

nerv_ 28.06.2015 00:34

Все еще защищаете
Цитата:

Сообщение от Georka
JS или CSS

от копирования? Тогда мы идем к вам :)


Часовой пояс GMT +3, время: 10:59.