Kürzlich wurde ich gebeten, mein Javascript zu verschleiern, um den API-Schlüssel eines Clients zu verbergen. Ich benutze grunt.
Wird grunt-contrib-ugify meine js verschleiern?
Was ist der Unterschied zwischen hässlich und verschleiern? Ist einer viel sicherer als der andere?
Uglify ist ein Code-Minifikationswerkzeug. Es analysiert den JS und erstellt einen Token-Baum aus dem Code, der dann verwendet werden kann, um den Code entweder zu komprimieren / zu verkleinern oder ihn zu "verschönern", wodurch er zum Debuggen usw. lesbar wird. Uglify wird Ihren Code NICHT verschleiern.
Auf der anderen Seite kann die Verwendung eines Verschleierungstools wie Stephen Mathiesons Obfuscator mehrere verketten Projektdateien in eins, Bündelung erfordert und Verpackung. In diesem Fall wird auch der gesamte Job am Ende geglättet, was zu einer verschleierten, verkleinerten JS-Datei führt. Es ist nicht 100% sicher, es gibt Möglichkeiten, JS-Code zu ent-obfuscieren, aber es macht es viel schwieriger zu entziffern als flacher Text.
JEDOCH würde ich empfehlen, den API-Schlüssel eines Clients so lange wie möglich vom browserseitigen Code fernzuhalten. Auch wenn es verschleiert ist, kann es immer noch gefunden werden
Tags und Links javascript gruntjs obfuscation deobfuscation uglifyjs