Модераторы: Sardar, Aliance

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Защита скрипта от копирования 
:(
    Опции темы
Се ля ви
Дата 30.11.2004, 12:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Java/SOAрхитектор
****


Профиль
Группа: Модератор
Сообщений: 2016
Регистрация: 5.6.2004
Где: place without tim e and space

Репутация: 5
Всего: 127



Цитата(Red @ 30.11.2004, 09:18)
Единственное - это чтобы заказчик тебя не обманул, т.е. взял работу не заплатив (если в работе будет страниц 20, то гемора ещё больше).

Не совсем согласен. Я когда работал в дизайн-студии, у нас ценился масштабируемый код - который легко изменять и дополнять. А для этого в нём должно быть легко и быстро разобраться...

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

Поэтому если и существует методика, как запутать JS-код, я бы поступал с ней как с компиляторами в обычном программировании - разделял код на исходник и откомпилированный (запутанный), выкладывая на сайт только последний, а для себя оставляя нормальный бэк-ап для изменения.

P.S. Встаёт вопрос об аптимизации редких скриптов, нуждающихся в максимальной скорости исполнения - думается, такое сбивание кодера с толку ведёт к неоправданно большим затратам процессорного времяни.

P.P.S. При этом теряется некоторое удобство редактирования сайта. Скажем, если код не запутан - можно из любого интернет-кафе или из дома доступиться к сайту и что-то поменять. А так - тебе постоянно нужно исходник себе заранее пересылать или хранить исходник на сайте, в защищённом месте, тем самым дулировать код, занимать больше места на диске провайдера, из-за чего переходить на более высокий тарифный план... И всё это надо помножить на дюжину сайтов, которые ты делал и обслуживаешь.
Вобщем, всё это будет большой геморрой и я бы не стал активно пытаться внедрять это дело в бизнес...

Это сообщение отредактировал(а) Се ля ви - 30.11.2004, 12:07


--------------------
  )
 (
[_])
проф. блог

Кролики думали, что занимаются любовью, а на самом деле их просто разводили...
PM MAIL WWW Skype GTalk   Вверх
DIMONSOFT
Дата 1.3.2005, 21:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 230
Регистрация: 19.12.2004
Где: Киев

Репутация: нет
Всего: -3



Короче идея может быть и глупая но стоит попытатся. Есть такой конструктор вирусов BOM. Он делает вирус в виде txt. Так вот запихиваем код в html и если кто-то схочет взглянуть...
--------------------
PM MAIL   Вверх
S.A.P.
Дата 9.3.2005, 01:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2664
Регистрация: 11.6.2004

Репутация: 8
Всего: 71



Видел я такую фигню. Суть в том, что весь дамп экзешника преобразуется в кодовые комбинации и засовывается в страницу, а потом JavaScript все это распаковывает и через FileSystemObject записывает на винт и запускает.

Думаю, никому из нас интереса не представляет smile .
PM MAIL   Вверх
DIMONSOFT
Дата 13.3.2005, 22:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 230
Регистрация: 19.12.2004
Где: Киев

Репутация: нет
Всего: -3



Очень я смотрю вам тут интересно! Короче качайте такую прогу Bom. Если не найдете я выложу smile
Добавлено @ 22:20
Цитата(sergej @ 9.3.2005, 00:50)
ну и нафига потом на нарах защита кода

Я признаюсь честно: я еще не взломал ни один сайт, ни одного человека. Просто мне интерестно узнать больше чем программирование. Я начал работать с кампом 5 лет назад. Я лично считаю что хакер это еще не значит вломщик всего что плохо защищено.
--------------------
PM MAIL   Вверх
polosatij
Дата 2.11.2005, 17:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1143
Регистрация: 22.2.2004
Где: Stuttgart<-> ;Karlsruhe, Germany

Репутация: 1
Всего: 8





--------------------
PM   Вверх
Aliance
Дата 2.11.2005, 19:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 55
Всего: 137



Мдя... видимо напрасно Се Ля Ви писал...
Не помогает
PM MAIL WWW ICQ Skype   Вверх
CyClon
Дата 3.12.2005, 22:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 838
Регистрация: 3.12.2005

Репутация: нет
Всего: 4



Код

<?

function _fwk_filter_encrypt($content) 

  $table = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_@"; 
  $xor = 165; 

  // Prepare encoding table 
  $table = array_keys(count_chars($table, 1)); 
  $i_min = min($table); 
  $i_max = max($table); 
  for ($c = count($table); $c > 0; $r = mt_rand(0, $c--)) 
    array_splice($table, $r, $c - $r, array_reverse(array_slice($table, $r, $c - $r))); 
     
  // Encode sequence 
  $len = strlen($content); 
  $word = $shift = 0; 
  for ($i = 0; $i < $len; $i++) 
  { 
    $ch = $xor ^ ord($content[$i]); 
    $word |= ($ch << $shift); 
    $shift = ($shift + 2) % 6; 
    $enc .= chr($table[$word & 0x3F]); 
    $word >>= 6; 
    if (!$shift) 
    { 
      $enc .= chr($table[$word]); 
      $word >>= 6; 
    } 
  } 
  if ($shift) 
    $enc .= chr($table[$word]); 

  // Decode sequence 
  $tbl = array_fill($i_min, $i_max - $i_min + 1, 0); 
  while (list($k,$v) = each($table)) 
    $tbl[$v] = $k; 
  $tbl = implode(",", $tbl); 
   
  $fi = ",p=0,s=0,w=0,t=Array({$tbl})"; 
  $f  = "w|=(t[x.charCodeAt(p++)-{$i_min}])<<s;"; 
  $f .= "if(s){r+=String.fromCharCode({$xor}^w&255);w>>=8;s-=2}else{s=6}"; 
   
  // Generate page 
  $r = "<script language=JavaScript>"; 
  $r.= "function decrypt_p(x){";
  $r.= "var l=x.length,b=1024,i,j,r{$fi};"; 
  $r.= "for(j=Math.ceil(l/b);j>0;j--){r='';for(i=Math.min(l,b);i>0;i--,l--){{$f}}document.write(r)}"; 
  $r.= "}decrypt_p(\"{$enc}\")"; 
  $r.= "</script>"; 
  return $r; 

ob_start("_fwk_filter_encrypt"); 

?> 


Вот. Работает. Но чето потом скрипыт не выполняютсяsmilesmilesmile


--------------------
user posted image
PM   Вверх
Изъ
Дата 7.12.2005, 12:32 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Скриптами пусть пользуються, обидно когда будут воравать авторство...
  Вверх
Destruction
Дата 12.2.2006, 21:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 23
Регистрация: 12.2.2006

Репутация: нет
Всего: нет



Кхм, нифига некруто. Граблю запрос на гуглу (именно на гуглу!!!), запущаю в инет кряк - даёт ответ как в обозревателе, но без тела сабжа - вот уж не антиламер..
Собсно, если даже так осуществить - никто от перехвата траффика не спасёт.
PM MAIL   Вверх
CyClon
Дата 28.3.2006, 19:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 838
Регистрация: 3.12.2005

Репутация: нет
Всего: 4



Цитата
Скриптами пусть пользуються


Если речь не идет о твоих конкурентах, то согласен ;)

А теперь вот что:

//www.experiment.net.ru/read/?nstat=16

Читайте, смотрите, пробуйте взломать. Я как не пытался - не вышло. И если кто знает, как сдесь сделана защита - отпишите, думаю не один десяток человек будут вам благодарны ;)


--------------------
user posted image
PM   Вверх
Ignat
Дата 28.3.2006, 19:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Флудератор
****


Профиль
Группа: Экс. модератор
Сообщений: 4030
Регистрация: 19.4.2004
Где: غيليندزيك مدينة

Репутация: нет
Всего: 73



Скрипт фрейма:
Код

<script>
var gwidth;
var gheight;

window.onload=function(){
init_obj(document.getElementById("img1"));
init_obj(document.getElementById("img2"));
}


function Coord(e){
    if(window.event){
        this.x=window.event.x;
        this.y=window.event.y;
    }
    else{
        this.x=e.pageX;
        this.y=e.pageY;
    }
    return this;
}


function preventEvent(e){
    if(window.event){
    window.event.cancelBubble = true;
    window.event.returnValue = false;
    }
    else if (e.preventDefault) e.preventDefault();
}


function init_obj(obj){
    obj.onmousedown=function(e){return startdrag(this,e);};
    obj.onmouseup=function(e){return enddrag(this,e);};
    obj.onmousemove=function(e){return move(this,e);};
    obj.setAttribute("draging",0);
    obj.draging=0;
    obj.style.position="absolute";
    obj.style.left=obj.offsetLeft;
    obj.style.top=obj.offsetTop;
    obj.style.marginLeft=0;
    obj.style.marginTop=0;
    obj.style.marginBottom=obj.offsetHeight;
    obj.style.marginRight=obj.offsetWidth;
}

function startdrag(obj,e){
    preventEvent(e);
    obj.style.zIndex=2;
    obj.draging=1;
    gwidth=Coord(e).x-obj.offsetLeft;
    gheight=Coord(e).y-obj.offsetTop;
}


function move(obj,e){
if(obj.draging){
    preventEvent(e);
    obj.style.left=Coord(e).x-gwidth;
    obj.style.top=Coord(e).y-gheight;
}
}


function enddrag(obj,e){
    obj.style.zIndex="";
    obj.draging=0;
}


</script>

Добавлено @ 19:55
CyClon, вуа-ля


--------------------
Теперь при чем :P
PM   Вверх
Ciber SLasH
Дата 28.3.2006, 21:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1813
Регистрация: 9.11.2004
Где: С.-Петербург

Репутация: 24
Всего: 67



Ignat, в очередной раз доказал, что не существует способов закодировать то, что уже показано в браузере.
Один из способов перехватить контент — сниффер, против которого нифига не подействует.
PM   Вверх
CyClon
Дата 29.3.2006, 12:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 838
Регистрация: 3.12.2005

Репутация: нет
Всего: 4



Ignat, хмЭ. интерестно smile Хотел бы знать, как закодировать так.

На счет взлома - да. ВСЕ! что выполняется на стороне клиента можно утащить. Но кто это сделает? Вот-вот. Сами подумайте, зачем профессионалу тягать скрипты? ДА нет, он еще лучше напишет. А вот NO Professional не сможет утянуть smile Вот и нужно защиту более-менее.


--------------------
user posted image
PM   Вверх
S.A.P.
Дата 29.3.2006, 13:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2664
Регистрация: 11.6.2004

Репутация: 8
Всего: 71



CyClon, данный метод добавит тебе лишь головной боли и ложного чувства уверенности. И как можно классифицировать этот метод защиты, как защиту от непрофессионала? Если скрипт ломается тремя кликами мыши, не выходя из браузера.
PM MAIL   Вверх
JSman
Дата 28.12.2006, 00:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 279
Регистрация: 10.7.2006

Репутация: нет
Всего: 4



а если использовать алгоритм сжатия скриптов?
PM ICQ   Вверх
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1668 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.