Siden betydningen av JavaScript vokser, gjør det også behovet for å beskytte din immaterielle rettighet. I denne veiledningen tar vi en titt på JScrambler, et verktøy du kan bruke til å beskytte koden din fra konkurrenter og hackere.
JScrambler er en skybasert, bedriftsløsning for å beskytte JavaScript-koden din i programmer som er beregnet på skrivebordsbane, HTML5, mobil, Node.js-apper og nettspilling.
Mens de fleste JavaScript-beskyttelsesinnsats sjelden går ut over enkle regulære uttrykkstransformasjoner, er JScrambler en JavaScript-tolk og parsing-motor som lager et Abstract Syntax Tree som representerer kildekoden. Derfor kan JScrambler sikre HTML5 og JavaScript på en måte som sikrer at den beskyttede koden kjøres med samme funksjonalitet som kilden.
JScrambler tilnærming krever grundig testing og avansert kildekoden analyse for å skape presisjonsoptimeringer som 1) kjører godt under begrensede ressurser, 2) ikke degradere ytelse, og 3) utfør feilfritt i et miljø garantert 100% kompatibelt med alle nettlesere og plattformer.
Legge til JScrambler i utviklingsprosessen din beskytter din immaterielle rettigheter og forhindrer en rekke problematiske scenarier:
I denne veiledningen vil jeg gå gjennom fordelene med å beskytte koden din med JScrambler og introdusere deg til sine tjenester og de ulike alternativene som er tilgjengelige for deg. I tillegg til sin skybaserte tjeneste kan du også integrere JScrambler i ditt utviklingsmiljø gjennom API. Hvis du trenger ekstra ytelse og sikkerhet, kan du være vert for sin selvstendige bedriftsløsning.
JScrambler fungerer best med følgende applikasjonsmiljøer:
Med spredning av Node.js kan JavaScript brukes utenfor konteksten til en nettleser, både på serveren og klientsiden. Det kan også bygges utenfor nettleseren og senere pakkes og utføres inne i nettleseren. Denne fleksibiliteten og elegansen har sikkert bidratt til sin popularitet.
Men om du jobber på et bibliotek som distribueres via NPM, en frittstående klient eller et nettleserprogram, og som vanlige webprogrammer utviklet ved hjelp av JavaScript, blir det fremdeles sendt eller installert i klartekst i sluttbrukerenheten. Hvis du bruker delte eller vertsbaserte servere, kan du være bekymret for å vite at koden din er lagret i klar tekst.
Selvfølgelig kan JScramblers kodebeskyttelse være spesielt verdifullt for selskaper som bygger deres immaterielle rettigheter utstrakt i Node.js.
JScrambler gjør det mulig å skjule logikken i søknaden din fra potensielle angripere, for eksempel hvilken informasjon som er samlet fra brukeren, hvordan den behandles på klientsiden, og hvordan den sendes til server-siden. Dens obfuscation introduserer et visst nivå av tilfeldighet, noe som gjør det mulig å utforske kode morphing teknikker; Disse kan hjelpe til med å utelukke angrepsautomatisering.
JScrambler kan skjule JavaScript-algoritmer fra klientsiden din fra konkurrenter som kan prøve å analysere og stjele det. Men utviklings- og produksjonsversjonene av koden din behøver ikke å være den samme. Du kan teste og feilsøke din ubeskyttede kode og bruke JScrambler til å distribuere beskyttelse utelukkende i testing og produksjon.
Hvis du utvikler og selger JavaScript-applikasjoner, enten det er standard JavaScript, mobilnettapplikasjoner eller HTML5, vil du forhindre noen som ikke betalte eller hvis lisensen er utløpt fra å utføre koden din. JScrambler lar deg låse koden din til en forhåndsdefinert liste over domener og angi utløpsdatoer. For eksempel kan du nå levere ekspanderbare demoer til dine kunder uten å pådra seg frykten for kode eller klient-tap.
JScrambler gir optimaliseringstransformasjoner som gjør koden mindre og raskere å laste. Disse transformasjonene er designet spesielt for din søknadstype og ytelseskrav. For eksempel kan mobile webapplikasjoner ikke utføre samme grad av forvirring som et standard JavaScript-program som kjører på en stasjonær CPU kan.
JScrambler tilnærming gjør at produktet ditt kan beskyttes mens det er enkelt og rimelig vedlikeholdt. Din utviklingsprosess kan utvikle seg naturlig mens du integrerer sikkerhets- og anti-debugging-metoder på bedriftsnivå. Her er noen av funksjonene som JScrambler gir:
JScrambler kan brukes på flere forskjellige måter. Du kan:
JavaScript reiser fra server til klient før det tolkes av nettleseren. Derfor reduserer den raske byte størrelsen forbedret ladetid, noe som bidrar til en raskere respons for applikasjonen din. Videre, hvis det brukes med obfuscationsteknikker, bidrar størrelseskode reduksjonstransformasjoner både til logisk skjuling og redusere størrelsen på koden som kan ha vokst på grunn av bruken av disse transformasjonene.
JScrambler kan gi optimalisering når det gjelder beregningsprestasjoner; Selvfølgelig gir denne teknikken ikke isolasjon til koden.
Kildekodeforvirring består i transformasjon av kildekoden for å gjøre det vanskeligere å forstå uten å endre sin opprinnelige funksjonalitet. JScramblers teknologiske tilnærming sikrer HTML5 og JavaScript på en måte som sikrer at den beskyttede koden kjøres med samme funksjonalitet som kilden.
JScrambler lar deg låse JavaScript til et bestemt domene eller en liste over domener, f.eks. mywebsite.com. Din beskyttede kode vil ikke fungere i andre domener enn de du har valgt. Du kan også begrense koden til en bestemt utløpsdato for ekspanderbare demoer eller lisenser, eller begrense det til bestemte nettlesere og operativsystemer..
En av de viktigste bruksområder for kodeskygging er å beskytte den intellektuelle eiendommen til programvaren din ved å skjule sin logikk, i stedet for å bare forsøke å håndheve en programvare lisens og stole på juridiske løsninger. Obfuscation som brukes i forbindelse med anti-debugging teknikker, hjelper med å beseire forsøk på omvendt prosjektering og kodeutnyttelse, for det meste fordi kodens vedlikeholds- og gjenbrukskvaliteter forringes for dette formålet.
JScrambler gir selvforsvarende muligheter for HTML5- og JavaScript-applikasjoner. Din søknad kan aktivt beskytte seg ved å oppdage kildekoden modifikasjon forsøk og feilsøking aktiviteter, og bryte ned med vilje for å redusere angrepet. Og alt som trengs for å utløse dette forsvaret er at en enkelt karakter blir endret.
Anti-debugging tar sikte på å motvirke prosessen med omvendt prosjektering og feilsøking. Den er ideell for å hindre (dynamisk) kodeanalyse, noe som gjør noe forsøk på å deformere vanskeligere.
Anti-manipulering tar sikte på å motvirke endringer i koden din ved å bruke (for eksempel) teknikker som endrer oppførselen til koden din eller ødelegger det hvis det oppdages et forsøk på forsøk..
Her er en demonstrasjon av JScrambler's anti-manipulering.
JScrambler hjelpesenter gir detaljerte beskrivelser av hver av sine funksjoner og transformasjoner, f.eks. Obfuscation og optimalisering tilnærminger:
JScrambler-grensesnittet er for øyeblikket tilgjengelig på seks språk:
JScrambler gir en gratis plan som tilbyr reduksjon og optimalisering. Støtte til større prosjekter og bredere miljøer begynner på $ 35 per måned når faktureres årlig:
Registrering med JScrambler er enkelt:
Når du er registrert, blir du presentert med Nytt prosjekt skjerm. JScrambler vil inkludere et demonstrasjonsstatisk webprosjekt.
Med hvert nytt prosjekt kan du rette JScrambler til å bruke en av dens applikasjonsmoduser:
Standard modus: JScrambler standard beskyttelse og optimaliseringsadferd. Nok for de fleste JavaScript-applikasjoner. Tar ikke fullt ut HTML5-funksjoner eller administrerer mobilytelse.
Mobil kompatibilitet: Transformasjoner blir brukt med hensyn til begrensninger og behov for mobile enheter.
HTML5-kompatibilitet: JScrambler beskytter og optimaliserer HTML5 og Web Gaming-applikasjonene dine ved å målrette mot de nye HTML5-funksjonene.
Node.js Kompatibilitet: JScrambler beskytter og optimaliserer dine Node.js applikasjoner.
Deretter må du angi en eller flere beskyttelses- og optimaliseringsmaler; Avanserte planer kan velge kombinasjoner. Du kan også sette opp maler for prosjektet ditt som velger spesifikk transformasjon (er):
Grensesnittet gir nyttige forklaringer for hvert alternativ:
Hvis du velger bestemte transformasjoner, kan det hende du må oppgi konfigurasjonsinnstillinger. For eksempel gir du en domene liste for domenelåsing:
Når du har brukt JScrambler's transformasjoner, blir du returnert til prosjekter Meny. Her kan du laste ned den resulterende koden din:
Her er en side-by-side sammenligning av JavaScript-koden i prosjektet mitt før og etter mine transformasjoner:
Selvfølgelig kan JScrambler statisk ikke være fornuftig for alle utviklingsgrupper. JScrambler API gir muligheter for kontinuerlig integrering.
Med API kan du automatisere distribusjonen av alle filene i prosjektet ved å kjøre en enkel kommando.
API gir et enkelt REST-grensesnitt, noe som betyr at du bare må implementere noen HTTP-forespørsler for å bruke den. Du kan se eksempler på dokumentasjonssenteret for JScrambler API. JScrambler gir klient stubber for PHP, Java, Node.js, Atom, Grunt, Gulp og Python. Gå til hele listen over nedlastingsklienter.
Enten du bygger din applikasjon ved hjelp av et kommandolinjeskript eller en oppgaveløper, er det veldig enkelt å integrere JScrambler i din eksisterende byggeprosess.
JScrambler er allerede integrert i alle større oppgaveløpere, og hvis det ikke virker for deg, finnes det en JScrambler API CLI kjørbar som du kan ringe fra skriptene eller din favoritt IDE.
Videre lar APIen deg integrere kontinuerlig JScrambler-transformasjon i utviklingsprosessen.
Her er et eksempel på kode du vil bruke med PHP for å laste opp kode for 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); $ Svar = $ jscrambler-> innlegget ( '/ code.json', array ( 'filer' => array ( 'index.html', 'script.js'), 'domain_lock' => 'jscrambler.com', ' expiration_date '=>' 2099/12/31 '));
Her er et eksempel på JSON-pakken som JScrambler ville returnere:
"Id": "401c600215aab40ea4709a3a0075ef196000cdf0", "forlengelse": "glidelås", "received_at": "2012-01-31 18:50:57", "kilder": [ "id": "a3b85573d493d803537555f48a1a7ac9778ec19f", "forlengelse ":" html", "filename": "indeks.html", "størrelse": 125 025, "id": "091306a8d92c5f8ad61bbfd134367bf5961be436", "forlengelse": "JS", "filnavn": "script.js", "størrelse": 113235]
Hvis du jobber for et stort selskap eller en med høye sikkerhets- og immaterielle krav, kan det hende du trenger mer sikker tilgang til JScramblers tjenester.
JScrambler Enterprise er et virtuelt apparat som du laster ned og kjører i din egen infrastruktur, noe som betyr at du aldri trenger å overføre noen av kodene dine. Det garanterer også 100% tilgjengelighet og høyeste prioritet.
JScrambler er et brukervennlig og sofistikert produkt. Her er en kort oversikt over hva vi dekket:
Jeg håper du har funnet denne oversikten over JScrambler's evner interessant og nyttig.
Hvis du vil se mer fra meg, kan du bla gjennom mine andre Tuts + opplæringsprogrammer på min instruktørside eller følge meg på Twitter @reifman.