Zpět na seznam článků     Číst komentáře (5)     Verze pro tisk

Jak ochránit JS před kopírováním

Autor: mzk   
25.11.2006

Existuje minimalně jeden způsob, jak zajistit, aby nikdo nezneužil vámi napsaný kód v javascriptu.


A ten způsob se jmenuje obfuskace kódu. V principu jde o techniku, kdy program analyzuje váš kód v javascriptu a převede ho do formy, kterou v podstatě nelze přepsat.

Např. máte skript (skript je ze stránky Jasob)


//------------------------------------------------------
// Calculate salary for each employee in "aEmployees".
// "aEmployees" is array of "Employee" objects.
//------------------------------------------------------
function CalculateSalary(aEmployees)
{
   var nEmpIndex = 0;
   while (nEmpIndex < aEmployees.length)
   {
      var oEmployee = aEmployees[nEmpIndex];
      oEmployee.fSalary = CalculateBaseSalary(oEmployee.nType,
                                              oEmployee.nWorkingHours);
      if (oEmployee.bBonusAllowed == true)
      {
         oEmployee.fBonus = CalculateBonusSalary(oEmployee.nType,
                                                 oEmployee.nWorkingHours,
                                                 oEmployee.fSalary);
      }
      else
      {
         oEmployee.fBonus = 0;
      }
      oEmployee.sSalaryColor = GetSalaryColor(oEmployee.fSalary +
                                              oEmployee.fBonus);
      nEmpIndex++;
   }
}

a program pro obfuskaci kódu ho převede na


function c(g){var m=0;while(mvar r=g[m];r.l=d(r.n,r.o);
if(r.j==true){
r.k=e(r.n,r.o,r.l);}else{r.k=0;}r.t=f(r.l+r.k);m++;}}

Tento kód byste přepisovali už velmi obtížně a při věších skriptech je to prakticky nemožné.

Výborná je také úspora místa. Zatímco kód v prvním případě měl něco kolem 1000 bytes, po obfuskaci je to jen 133 bytes.

Programů pro obfuskaci kódu je velké množství, já vám mohu doporučit Jasob.


Líbil se Vám článek?
Budeme potěšeni, pokud vás zaujme také reklamní nabídka

Social Bookmarking

     





Hodnocení/Hlasovalo: 0/0

1  2  3  4  5    
(známkování jako ve škole)