JavaScript – Zaštita vaših skriptova (I deo)

Radili ste dugo i naporno na novim skriptovima za vaše web stranice, te je došlo vreme da ih sada postavite na web. Sigurno se pitate, kako biste mogli da zaštitite svoj rad, tj. skriptove, od njihove upotrebe/kopiranja od strane drugih korisnika? Predstavićemo vam nekoliko jednostavnih opcija u cilju što bolje zaštite vašeg rada.

Evo u čemu je zapravo problem. Kada radite sa programskim jezicima kao što su C++, Java ili Visual Basic, proces kompajliranja (proces kojim se kreiraju izvršni fajlovi, apleti) štiti vaš skript od radoznalih očiju. Kada radite u JavaScript-u ili nekom sličnom skript jeziku, ovakva zaštita ne postoji, jer je ovo interpreterski jezik, pa je sav programski kod u običnom plain tekstu. Ovakav programski kod je dostupan svima za pregled, modifikaciju i neovlašćeno korišćenje. Pa šta vam onda preostaje da uradite? Pre nego što pogledamo mogućnosti, potrebno je da razbijemo neke „mitove“:

  • Vaše skriptove ne možete zaštititi lozinkom, osim ako je ne obezbedite svim posetiocima sajta.
  • Ne možete onemogućiti posetiocima „download“ web stranica.
  • Ne možete onemogućiti posetioce da pogledaju izvorni kod vaših stranica. Postoji mogućnost da ne dozvolite desni klik posetiocima i dobijanje opcije „view source“ upotrebom skriptova, ali ovo je potpuno nepouzdano (jer postoji i komanda menija „View> Source“).
Ako ovo ne možete, pa šta se onda može uraditi? Evo i nekoliko konkretnih ideja koje će vam pomoći u pokušaju zaštite vaše intelektualne svojine na web-u:
  • Ne postavljajte ih na web – Ovo je pravilo broj jedan za sve sadržaje na Internetu. Ukoliko želite da ih učinite apsolutno bezbednim, držite ih dalje od web-a. Možete ih koristiti u okviru intraneta vaše firme.
  • Pređite na Java-u – Ukoliko vas sve više obuzima paranoja, možete da uradite najmanje drastičnu stvar – pređite sa JavaScript-a na Java-u. Na ovaj način možete kreirati aplete i čak ih potpisati digitalnim potpisom, te na taj način osigurati od neautorizovanog kopiranja. Međutim, za neke svrhe, kao što je validacija formulara, ne postoji bolji način od korišćenja JavaScript-a. Još jedan problem predstavlja i isključenje Java podrške od strane posetilaca, koji radi sopstvene bezbednosti isključuju ovu opciju.
  • Pređite na Flash – Još jedan od mogućnosti je – da zaobiđemo JavaScript i preorijentišemo se na sam Flash. Ovim nam ostaju limitacije Java-e, i manja osetljivost na „riverzni inženjering“.
  • Dodajte zabelešku o autoru – Uprkos svemu navedenom, ukoliko se ipak odlučite za upotrebu JavaScript-a, najjednostavniji korak predstavlja ubacivanje u kod – zabeleške o autoru. Naravno, ovo neće zaštititi kod, ali ćete možda biti zadovoljniji ostavljanjem bar nekog traga. Za ubacivanje u kod postoje tri dobra mesta:
    • Na početku skripta.
    • Na kraju skripta.
    • I u toku programskog koda.
    Zabeleške unutar toka programskog koda, predstavljaju možda i najbolje rešenje, jer ih je teško uočiti, a njihovo uklanjanje je mnogo teže. Evo i primera sve tri mogućnosti:

    <html>
    <head>
    <title>Test stranica</title>
    <script language=“javascript“>
    /*
    * Napisao Pera Peric 20.7.2001
    * pera@email.com; http://www.email.com
    */
    function start()
    {
    alert(„Jednostavni skript!“); // Napisao Pera Peric 20.7.2001
    }
    /*
    * Napisao Pera Peric 20.7.2001
    * pera@email.com; http://www.email.com*/
    </script>
    </head>
    <body onLoad=“start()“>

    </body>
    </html> Korišćenjem sve tri mogućnosti, skript će se povećati, ali sve dok su skriptovi dugački onda ovo ima smisla.

Dalje razmatranje solucija nastavićemo u sledećem JavaScript prilogu.

Pratite Krstaricu na www.krstarica.com