Pe măsură ce importanța JavaScript crește, la fel trebuie să vă protejați proprietatea intelectuală. În acest tutorial vom arunca o privire la JScrambler, un instrument pe care îl puteți folosi pentru a vă proteja codul de concurenți și de hackeri.
JScrambler este o soluție enterprise pentru a vă proteja codul JavaScript în aplicații destinate aplicațiilor web, HTML5, mobile, Node.js și jocurilor web.
În timp ce majoritatea eforturilor de protecție JavaScript depășesc rareori transformările simple de expresie regulată, JScrambler este un interpret și un motor de parsare JavaScript care creează un arbore de sintaxă abstractă care reprezintă codul dvs. sursă. Prin urmare, JScrambler vă poate asigura HTML5 și JavaScript într-un mod care să asigure executarea codului protejat cu aceeași funcționalitate ca și sursa.
Abordarea lui JScrambler necesită o testare amănunțită și o analiză avansată a codului sursă pentru a crea optimizări de precizie care să funcționeze bine sub resurse limitate, 2) să nu degradeze performanța și 3) să execute fără probleme într-un mediu garantat 100% compatibil cu toate browserele și platformele.
Adăugarea JScrambler la procesul de dezvoltare vă protejează proprietatea intelectuală și împiedică o serie de scenarii problematice:
În acest tutorial, vă voi ajuta să vă protejați codul cu JScrambler și să vă prezint serviciile sale și diferitele opțiuni disponibile pentru dvs. În plus față de serviciul bazat pe cloud, puteți integra, de asemenea, JScrambler în mediul dvs. de dezvoltare prin API-ul său. Dacă aveți nevoie de performanță și securitate suplimentare, puteți găzdui soluția sa de întreprindere autonomă.
JScrambler funcționează cel mai bine cu următoarele medii de aplicații:
Odată cu proliferarea Node.js, JavaScript poate fi folosit în afara contextului unui browser web, atât pe server, cât și pe partea clientului. Poate fi construit în afara browserului și mai târziu să fie împachetat și executat în interiorul browserului. Această flexibilitate și eleganță au contribuit cu siguranță la popularitatea sa.
Cu toate acestea, indiferent dacă lucrați la o bibliotecă distribuită prin NPM, un client independent sau o aplicație de browser - și cum ar fi aplicațiile web obișnuite dezvoltate utilizând JavaScript, acesta este încă trimis sau instalat în text clar în dispozitivul utilizatorului final. Dacă utilizați servere partajate sau găzduite, este posibil să vă faceți griji că codul dvs. este stocat în text clar.
Evident, protecțiile codului JScrambler pot fi deosebit de valoroase pentru companiile care își construiesc proprietatea intelectuală extensiv în Node.js.
JScrambler vă permite să ascundeți logica aplicației de la potențialii atacatori, cum ar fi informațiile pe care le colectează de la utilizator, modul în care acestea sunt procesate pe partea clientului și modul în care acesta este trimis către server. Obfuscatia lui introduce un anumit nivel de aleatorie, care va permite sa explorati tehnicile de morfing a codului; acestea pot ajuta la prevenirea automatizării atacurilor.
JScrambler poate ascunde algoritmii JavaScript de la clienți de la concurenți care ar putea încerca să o analizeze și să o fure. Dar versiunile de dezvoltare și de producție ale codului dvs. nu trebuie să fie aceleași. Puteți să testați și să depanați codul neprotejat și să aplicați JScrambler pentru a implementa protecția exclusiv în testarea și producția.
Dacă dezvoltați și vindeți aplicații JavaScript, fie standard JavaScript, aplicații web mobile sau HTML5, veți dori să împiedicați pe cineva care nu a plătit sau a cărui licență a expirat de la executarea codului. JScrambler vă permite să vă blocați codul la o listă predefinită de domenii și să setați datele de expirare. De exemplu, acum puteți furniza demo-uri expirate clienților dvs., fără a suferi teama de cod sau pierdere de client.
JScrambler oferă transformări de optimizare care fac codul dvs. mai mic și mai rapid să se încarce. Aceste transformări sunt concepute special pentru tipul de aplicație și cerințele de performanță. De exemplu, aplicațiile web mobile nu pot realiza același grad de obfuscare pe care o aplicație standard JavaScript care rulează pe un procesor desktop poate.
Abordarea lui JScrambler permite protejarea produsului dvs. în timp ce este ușor de întreținut. Procesul de dezvoltare poate evolua în mod natural în timp ce se integrează metode de securitate la nivel de întreprindere și de depanare. Iată câteva dintre caracteristicile pe care JScrambler le oferă:
JScrambler poate fi folosit în mai multe moduri diferite. Poti:
JavaScript se deplasează de la server la client înainte de a fi interpretat de browser. Prin urmare, reducerea mărimii primei octeți îmbunătățește timpul de încărcare, contribuind la un răspuns mai rapid pentru aplicația dvs. Mai mult, dacă se utilizează tehnici de obfuscare, transformările de reducere a codului de dimensiune contribuie la ascunderea logică și reduc dimensiunea codului care ar putea fi crescut datorită utilizării acestor transformări.
JScrambler poate oferi optimizare în termeni de performanță computațională; desigur, această tehnică izolată nu oferă nici o protecție pentru cod.
Scurtarea codului sursă constă în transformarea codului sursă pentru a face mai greu de înțeles, fără a schimba funcționalitatea sa originală. Abordarea tehnologică a lui JScrambler vă asigură HTML5 și JavaScript într-un mod care asigură executarea codului protejat cu aceeași funcționalitate ca și sursa.
JScrambler vă permite să vă închideți JavaScript pentru un anumit domeniu sau o listă de domenii, de ex. mywebsite.com. Codul dvs. protejat nu va funcționa în alte domenii decât cele pe care le-ați ales. De asemenea, puteți restricționa codul la o anumită dată de expirare pentru demonstrații sau licențe care pot fi extirpate sau pentru a le restricționa anumite browsere și sisteme de operare.
Una dintre principalele utilizări ale obfuscării de coduri este de a proteja proprietatea intelectuală a software-ului prin ascunderea logicii sale, mai degrabă decât să încercați să impuneți o licență software și să vă bazați pe soluții legale. Obfuscația folosită în combinație cu tehnicile anti-depanare ajută la înfrângerea încercărilor de inginerie inversă și reutilizarea codului, în cea mai mare parte datorită faptului că calitățile de mentenabilitate și reutilizare a codului sunt degradate în acest scop.
JScrambler oferă capabilități de auto-apărare pentru aplicațiile HTML5 și JavaScript. Aplicația dvs. se poate proteja în mod activ prin detectarea încercărilor de modificare a codului sursă și a activităților de depanare și prin ruperea intenționată pentru a atenua atacul. Tot ceea ce este nevoie pentru a declanșa această apărare este schimbarea unui singur caracter.
Anti-debugging-ul vizează anularea procesului de inginerie inversă și depanare. Este ideal pentru a împiedica analiza (dinamică) a codului, făcând orice încercare de de-obfuscate mai dificilă.
Anti-manipularea are rolul de a atenua modificările aduse codului dvs. utilizând tehnici (de exemplu) care schimbă comportamentul codului dvs. sau îl pot sparge dacă este detectată o încercare de tamper.
Iată o demonstrație a anti-manipulării lui JScrambler.
Centrul de ajutor JScrambler oferă descrieri detaliate ale fiecărei caracteristici și transformări, de ex. Obfuscări și abordări de optimizare:
Interfața JScrambler este disponibilă în prezent în șase limbi:
JScrambler oferă un plan gratuit care oferă miniere și optimizare. Sprijinul pentru proiecte mai mari și medii mai largi începe la 35 USD pe lună când se facturează anual:
Înscrierea în JScrambler este ușoară:
După ce te-ai înscris, vei fi prezentat Proiect nou ecran. JScrambler va include un proiect web demonstrativ static.
Cu fiecare proiect nou, puteți să direcționați JScrambler la unul dintre modurile sale de aplicare:
Mod standard: Standardul de protecție și optimizare JScrambler. Suficient pentru majoritatea aplicațiilor JavaScript. Nu vizează în totalitate funcțiile HTML5 sau nu gestionează performanța mobilă.
Compatibilitate mobilă: Transformările sunt aplicate luând în considerare limitările și nevoile dispozitivelor mobile.
Compatibilitate HTML5: JScrambler protejează și optimizează aplicațiile HTML5 și Gaming Web prin direcționarea noilor caracteristici HTML5.
Node.js Compatibilitate: JScrambler protejează și optimizează aplicațiile Node.js.
Apoi trebuie să specificați una sau mai multe șabloane de protecție și optimizare; planurile avansate pot alege combinații. De asemenea, puteți configura șabloane pentru proiectul dvs. care aleg transformări specifice:
Interfața oferă explicații utile pentru fiecare opțiune:
Dacă selectați transformări specifice, este posibil să vi se solicite să furnizați setări de configurare. De exemplu, furnizarea unei liste de domenii pentru blocarea domeniului:
Odată ce ați aplicat transformările lui JScrambler, veți fi returnat la proiecte meniul. Aici puteți descărca codul rezultat:
Iată o comparație comparativă a codului JavaScript în proiectul meu înainte și după transformările mele:
Desigur, utilizarea JScrambler-ului static nu are sens pentru fiecare echipă de dezvoltare. API-ul JScrambler oferă opțiuni pentru integrarea continuă.
Cu API veți putea automatiza desfășurarea tuturor fișierelor din proiect prin executarea unei comenzi simple.
API-ul oferă o interfață REST simplă, ceea ce înseamnă că trebuie să implementați doar câteva cereri HTTP pentru al utiliza. Puteți vedea exemple în centrul de documentare API JScrambler. JScrambler oferă clienți pentru PHP, Java, Node.js, Atom, Grunt, Gulp și Python. Vizitați lista completă a Descărcați clienți.
Indiferent dacă construiți aplicația folosind un script de linie de comandă sau un runner de activități, este foarte ușor să integrați JScrambler în procesul dvs. de construcție existent.
JScrambler este deja integrat în toți alergătorii principali de sarcini, iar dacă acest lucru nu funcționează pentru dvs., există un executabil JScrambler API CLI pe care îl puteți apela din script-urile sau IDE-ul favorit.
Mai mult, API vă permite să integrați transformarea JScrambler continuă în procesul de dezvoltare.
Iată un exemplu de cod pe care l-ați folosi cu PHP pentru a încărca codul pentru JScrambler:
requ_once 'jscrambler.php'; $ accessKey = 'YOUR_ACCESS_KEY'; $ secretKey = 'YOUR_SECRET_KEY'; $ apiHostname = 'api.jscrambler.com'; $ port = '443'; $ jscrambler = noul Jscrambler ($ accessKey, $ secretKey, $ apiHostname, $ port); $ response = $ jscrambler-> post ('/ code.json', array ('fișiere' => array ('index.html', 'script.js'), 'domain_lock' expiration_date '=>' 2099/12/31 '));
Iată un exemplu de pachet JSON pe care JScrambler l-ar reveni:
"id": "401c600215aab40ea4709a3a0075ef196000cdf0", "extensie": "zip", "received_at": "2012-01-31 18:50:57", "surse": "a3b85573d493d803537555f48a1a7ac9778ec19f" ":" html "," nume fișier ":" index.html "," dimensiune ": 125025, " id ":" 091306a8d92c5f8ad61bbfd134367bf5961be436 "," extensie ":" js "," filename ":" script.js " "dimensiune": 113235]
Dacă lucrați pentru o companie mare sau una cu cerințe de securitate ridicată și de proprietate intelectuală, este posibil să aveți nevoie de acces mai sigur la serviciile JScramblerului.
JScrambler Enterprise este un dispozitiv virtual pe care îl descărcați și rulați în propria infrastructură, ceea ce înseamnă că nu trebuie să transmiteți niciodată codul dvs. De asemenea, garantează 100% disponibilitate și prioritate maximă.
JScrambler este un produs ușor de utilizat, sofisticat. Iată o scurtă recapitulare a ceea ce am acoperit:
Sper că ați găsit această imagine de ansamblu a capabilităților lui JScrambler interesantă și utilă.
Dacă doriți să vedeți mai multe de la mine, puteți să căutați alte tutoriale Tuts + pe pagina mea de instructor sau să urmați-mă pe Twitter @reifman.