Eftersom vikten av JavaScript växer, så behöver du skydda din immateriella äganderätt. I den här handledningen tar vi en titt på JScrambler, ett verktyg som du kan använda för att skydda din kod från konkurrenter och hackare.
JScrambler är en molnbaserad företagslösning för att skydda din JavaScript-kod i program som är avsedda för skrivbordswebben, HTML5, mobil, Node.js-appar och webbspel.
Medan de flesta JavaScript-skyddsåtgärder sällan går utöver enkla reguljära uttryckstransformationer, är JScrambler en JavaScript-tolk och tolkningsmotor som skapar ett abstrakt syntaxträd som representerar källkoden. Därför kan JScrambler säkra din HTML5 och JavaScript på ett sätt som säkerställer att den skyddade koden körs med samma funktionalitet som källan.
JScramblers tillvägagångssätt kräver noggrann testning och avancerad källkodsanalys för att skapa precisionsoptimeringar som 1) fungerar bra under begränsade resurser, 2) försämrar inte prestanda och 3) exekveras felfritt i en miljö som garanteras 100% kompatibel med alla webbläsare och plattformar.
Att lägga till JScrambler i din utvecklingsprocess skyddar din immateriella äganderätt och förhindrar ett antal problematiska scenarier:
I denna handledning går jag igenom fördelarna med att skydda din kod med JScrambler och presentera dig för sina tjänster och de olika alternativen som finns tillgängliga för dig. Förutom sin molnbaserade tjänst kan du även integrera JScrambler i din utvecklingsmiljö via dess API. Om du behöver ytterligare prestanda och säkerhet, kan du vara värd för sin självständiga företagslösning.
JScrambler fungerar bäst med följande applikationsmiljöer:
Med spridningen av Node.js kan JavaScript användas utanför en webbläsares sammanhang, både på servern och på kundsidan. Det kan också byggas utanför webbläsaren och senare packas och exekveras i webbläsaren. Denna flexibilitet och elegans har säkert bidragit till dess popularitet.
Om du arbetar på ett bibliotek som distribueras via NPM, en fristående klient eller en webbläsarapplikation och som vanliga webbapplikationer som utvecklats med hjälp av JavaScript, skickas eller installeras det fortfarande i klar text i slutanvändarenheten. Om du använder delade eller hostade servrar kan du vara orolig att veta att din kod lagras i tydlig text.
Självklart kan JScrambler kodskydd vara särskilt värdefull för företag som bygger sin intellektuella egendom i stor utsträckning i Node.js.
JScrambler gör att du kan dölja logiken i din ansökan från potentiella angripare, till exempel vilken information som samlas in från användaren, hur det behandlas på klientsidan och hur det skickas till serverns sida. Dess obfuscation introducerar en viss grad av slumpmässighet, som låter dig utforska kodmorferingstekniker; Dessa kan hjälpa till att förhindra attackautomatisering.
JScrambler kan dölja dina JavaScript-algoritmer från klientsidan från konkurrenter som kan försöka analysera och stjäla det. Men dina utvecklings- och produktionsversioner av din kod behöver inte vara samma. Du kan testa och felsöka din oskyddade kod och tillämpa JScrambler att distribuera skydd uteslutande i testning och produktion.
Om du utvecklar och säljer JavaScript-program, vare sig det är standard JavaScript, mobila webbapplikationer eller HTML5, vill du förhindra någon som inte betalade eller vars licens har löpt ut från att köra din kod. JScrambler låter dig låsa din kod till en fördefinierad lista över domäner och ställa utgångsdatum. Till exempel kan du nu leverera expirable demos till dina kunder utan att drabbas av rädsla för kod eller klientförlust.
JScrambler ger optimeringstransformationer som gör din kod mindre och snabbare att ladda. Dessa omvandlingar är utformade speciellt för din applikationstyp och prestandakrav. Till exempel kan mobila webbapplikationer inte genomföra samma grad av obfuscation som en vanlig JavaScript-applikation som körs på en stationär CPU kan.
JScramblers tillvägagångssätt låter din produkt skyddas samtidigt som den är enkelt och billigt underhålls. Din utvecklingsprocess kan utvecklas naturligt när du integrerar säkerhetsnivåer och antispelningsmetoder på företagsnivå. Här är några av de funktioner som JScrambler erbjuder:
JScrambler kan användas på flera olika sätt. Du kan:
JavaScript reser från server till klient innan tolkas av webbläsaren. Därför minskar dess råa byte storlek förbättrad laddningstid, vilket bidrar till ett snabbare svar för din ansökan. Dessutom, om de används med obfuscationstekniker, bidrar storleken kodreduktionstransformationer både till logisk döljning och reducera storleken på koden som kan ha ökat på grund av användningen av dessa omvandlingar.
JScrambler kan ge optimering när det gäller beräkningsprestanda; Naturligtvis ger denna teknik inte något skydd för koden.
Källkodsbekämpning består i omvandlingen av källkoden för att göra det svårare att förstå, utan att ändra dess ursprungliga funktionalitet. JScramblers tekniska tillvägagångssätt säkerställer din HTML5 och JavaScript på ett sätt som säkerställer att den skyddade koden körs med samma funktionalitet som källan.
JScrambler låter dig låsa din JavaScript till en specifik domän eller en lista med domäner, t.ex. mywebsite.com. Din skyddade kod kommer inte att fungera på andra domäner än de som du har valt. Du kan också begränsa koden till ett visst utgångsdatum för expirable demos eller licenser eller begränsa det till vissa webbläsare och operativsystem.
En av de viktigaste användningsområdena för kodbekämpning är att skydda din programvaras immateriella äganderätt genom att dölja sin logik, snarare än att bara försöka driva en programlicens och förlita sig på juridiska lösningar. Obfuscation som används i samband med anti-debugging tekniker hjälper till att besegra försök mot omvänd teknik och kodåteranvändning, för det mesta eftersom kodens underhållsförmåga och återanvändbarhetskvaliteter försämras för detta ändamål.
JScrambler ger självförsörjande funktioner för HTML5 och JavaScript-applikationer. Din ansökan kan aktivt skydda sig genom att upptäcka källkodsmodifieringsförsök och felsökningsaktiviteter och bryta ned avsiktligt för att mildra attacken. Och allt som krävs för att utlösa detta försvar är att en enda karaktär ändras.
Anti-debugging syftar till att motverka processen med omvänd teknik och felsökning. Det är idealiskt för att hindra (dynamisk) kodanalys, vilket gör något försök att deformera svårare.
Anti-manipulering syftar till att motverka förändringar i din kod genom att använda (till exempel) tekniker som ändrar uppförandet av din kod eller bryter den om det finns ett manipulationsförsök.
Här är en demonstration av JScrambler's anti-manipulering.
Hjälpcenteret för JScrambler ger detaljerade beskrivningar av var och en av dess egenskaper och transformationer, t.ex. Obfuscation and Optimization Approaches:
JScrambler gränssnittet är för närvarande tillgängligt på sex språk:
JScrambler erbjuder en gratis plan som erbjuder minifiering och optimering. Stöd till större projekt och bredare miljöer börjar vid $ 35 per månad när de faktureras årligen:
Att registrera dig med JScrambler är enkelt:
När du är registrerad kommer du att presenteras med Nytt projekt skärm. JScrambler kommer att innehålla ett demonstration statiskt webbprojekt.
Med varje nytt projekt kan du styra JScrambler för att använda ett av dess applikationslägen:
Standardläge: JScrambler standardskydd och optimeringsbeteende. Tillräckligt för de flesta JavaScript-applikationer. Inriktar sig inte helt på HTML5-funktioner eller hanterar mobilprestanda.
Mobilkompatibilitet: Transformationer tillämpas med hänsyn till begränsningar och behov hos mobila enheter.
HTML5-kompatibilitet: JScrambler skyddar och optimerar dina HTML5 och Web Gaming-applikationer genom att rikta in de nya HTML5-funktionerna.
Node.js Kompatibilitet: JScrambler skyddar och optimerar dina Node.js-applikationer.
Då måste du ange en eller flera skydds- och optimeringsmallar. avancerade planer kan välja kombinationer. Du kan också skapa mallar för ditt projekt som väljer specifika omvandlingar:
Gränssnittet ger användbara förklaringar för varje alternativ:
Om du väljer specifika omvandlingar kan du behöva tillhandahålla konfigurationsinställningar. Till exempel tillhandahåller en domänlista för domänlåsning:
När du har tillämpat JScrambler omvandlingar kommer du tillbaka till projekt meny. Här kan du ladda ner din resulterande kod:
Här är en sida-vid-sida jämförelse av JavaScript-koden i mitt projekt före och efter mina omvandlingar:
Självklart kanske JScrambler inte kan ge mening för varje utvecklingslag. JScrambler API erbjuder alternativ för kontinuerlig integration.
Med API kan du automatisera utplaceringen av alla filer i ditt projekt genom att köra ett enkelt kommando.
API: n erbjuder ett enkelt REST-gränssnitt, vilket innebär att du bara behöver implementera några HTTP-förfrågningar för att kunna använda det. Du kan se exempel på dokumentationen för JScrambler API. JScrambler ger klientstubbar för PHP, Java, Node.js, Atom, Grunt, Gulp och Python. Besök hela listan över nedladdningsklienter.
Oavsett om du bygger din applikation med ett kommandoradsskript eller en arbetslöpare är det väldigt lätt att integrera JScrambler i din befintliga byggprocess.
JScrambler är redan integrerad i alla större uppgiftslöpare, och om det inte fungerar för dig finns det en JScrambler API CLI-körbar som du kan ringa från dina skript eller din favorit IDE.
Dessutom tillåter API: n att integrera kontinuerlig JScrambler-omvandling i din utvecklingsprocess.
Här är ett exempel på kod du skulle använda med PHP för att ladda upp kod för JScrambler:
require_once 'jscrambler.php'; $ accessKey = 'YOUR_ACCESS_KEY'; $ secretKey = 'YOUR_SECRET_KEY'; $ apiHostname = 'api.jscrambler.com'; $ port = '443'; $ jscrambler = ny Jscrambler ($ accessKey, $ secretKey, $ apiHostname, $ port); $ response = $ jscrambler-> post ('/ code.json', array ('files' => array ('index.html', 'script.js'), 'domain_lock' => 'jscrambler.com' expiration_date '=>' 2099/12/31 '));
Här är ett exempel på JSON-paketet som JScrambler skulle återvända:
"id": "401c600215aab40ea4709a3a0040ef196000cdf0", "förlängning": "zip", "received_at": "2012-01-31 18:50:57", "källor": ["id": "a3b85573d493d803537555f48a1a7ac9778ec19f" ":" html "," filnamn ":" index.html "," storlek ": 125025, " id ":" 091306a8d92c5f8ad61bbfd134367bf5961be436 "," förlängning ":" js "," filnamn ":" script.js " "storlek": 113235]
Om du arbetar för ett stort företag eller en med hög säkerhets- och immateriella krav, kan du behöva säkrare tillgång till JScramblers tjänster.
JScrambler Enterprise är en virtuell apparat som du laddar ner och kör i din egen infrastruktur, vilket innebär att du aldrig behöver överföra någon av din kod. Det garanterar också 100% tillgänglighet och högsta prioritet.
JScrambler är en lättanvänd sofistikerad produkt. Här är ett kort sammanfattning av vad vi täckte:
Jag hoppas att du har hittat denna översikt över JScramblers möjligheter intressant och användbar.
Om du vill se mer från mig kan du bläddra i mina andra Tuts + handledning på min instruktörssida eller följa mig på Twitter @reifman.