Wie kann ich zu verschleiern oder unlesbar machen meine JavaScript-Dateien?
Habe ich JavaScript-Skripten in meiner Anwendung mit JavaScript-und jQuery-Funktionen.
Alle Benutzer-Interaktion mit meiner Anwendung ist dynamisch und es ist vorbei, um die Anwendung durch jQuery.
Was ich erkannte, ist, wenn ich meine Anwendung auf der client-Seite kann der Kunde sehen mein allen source code anzeigen Seite Quelle (Ctrl + U
).
Wie kann ich das verbergen oder etwas zu tun, so dass Benutzer können nicht verstehen oder Lesen Sie die Quelle?
Möchte ich etwas tun wie das, was Facebook tut. Durch das ansehen von Facebook-source-Benutzer können nicht erneut verwendet, deren Quellcode oder sogar verstehen.
Habe ich gegoogelt und gefunden, dass dieser Vorgang wird als Verschleierung, aber das funktioniert nicht für mich.
Habe ich versucht, dieses:
http://www.javascriptobfuscator.com/default.aspx
und
http://dean.edwards.name/packer/
und
http://www.daftlogic.com/projects-online-javascript-obfuscator.htm
einmal versuchte ich
http://www.jasob.com/
Aber es ist von keinem nutzen für mich.
Eigentlich denke ich, es ist nur minified. Das ist zwar der Verschleierung zu, es ist nicht der Hauptzweck.
heißt, ich versuchte obfuscator meine js-Datei, aber Ihr versagt in der Prüfung meiner Bewerbung. seine nicht gehen, um einen Vorgang Ereignis klicken. u kann mir empfehlen, welche obfuscator tool, das ich verwenden, um zu verschleiern meine js.
also, es funktioniert nicht komprimierte, aber nach dem packen nicht mehr funktioniert? Verschleierung ist nicht das problem, fast sicher. Es ist möglich, dass Sie einige syntax-Fehler in Ihrem code, die verschluckt Laufzeit, sondern verwirren den obfuscator. JSLint überprüfen Sie Ihr Programm zwar gültig ist, bevor Verschleierung.
ja, es funktioniert perfekt, wenn Sie Ihre unkomprimierte, aber mit der Verschleierung nicht arbeitet. Viele werden meinen code haben einige syntax-Fehler, aber wenn es dann Fehler spiegeln sich in meiner IDE als gut, aber ich bin nicht immer alle Fehler. Ich werde meine code mit JSLint. Danke..
InformationsquelleAutor Bhargav | 2011-12-30
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn jemand kümmert sich wirklich über Ihren code, den er nehmen wird, die Arbeitsbelastung der un-minifying (ersetzen zufällig mit nützlichen Variablen/Funktionsnamen). Alles andere wie "Verschlüsselung" oder der Verpackung ist nur snake oil, da es rückgängig gemacht werden können extrem einfach. So sparen Sie sich einige Arbeit und vielmehr verbringen Sie auf, damit Ihre Anwendung besser.
So: Die einzige Sache, die Sie tun sollten auf einem Produktionssystem ist minifying Ihre JS-code. Dies macht es kleiner und somit schneller zu laden - so ist es eigentlich ein Vorteil. Außer, dass, es macht es weniger lesbar für Leute, die einfach nur neugierig sind für einen schnellen Blick, aber nicht wollen, Zeit zu verbringen auf Sie.
Das facebook JS-Dateien beispielsweise sind nur minified übrigens - wahrscheinlich nur für die Bandbreite/performance-Gründen.
Der einfachste Weg, zu minifizieren JavaScript ist die Verwendung von Google-web-service für Sie: http://closure-compiler.appspot.com/home
Beachten Sie, dass es eine 1-MB-Grenze, so dass, wenn dein JS so riesig ist, müssen Sie möglicherweise laden Sie die Java-basierte minifier, um Sie lokal auszuführen.
Hinzugefügt einen link zu meiner Antwort
Ich konnte nicht finden, dass die Java-basierte minifier. Gibt es eine Verbindung ?
InformationsquelleAutor
Alles ThiefMaster sagt, ist wahr. Es ist auch erwähnenswert, dass Ihre apps so gestaltet werden sollte, mit der Annahme kann der Benutzer sehen und Bearbeiten und alles auf dem client. Wenn Sie sind besorgt über Verschleierung, weil Sie denken, es zu verhindern, dass sensible Daten oder die Manipulation von Informationen wie Preise, dann müssen Sie das Design Ihrer Anwendung, so dass die sichere Logik auf dem server befindet.
Auch wenn Sie komplett verschleiert die Quelle in einer irreversiblen Art und Weise (nicht möglich) die modernen Kunden immer noch erlauben, den Benutzer zu überwachen, Netzwerk-traffic von Ihren Kunden. :/ Was bestimmte Funktionen sind Sie besorgt über versteckt?
ich gehe zum verschleiern meiner js-Datei. jede Bezugnahme begrüßt. danke...
InformationsquelleAutor
Da muss ich minifizieren javascript-source-code, ich bin auf der Suche nach einem javascript-Programm, dessen verkleinern sich beliebiger javascript-code.
Warum Sie einen javascript-minifier ?
Da Schreibe ich einige randomisierte javascript-code vom web-server an den client.
Sollte ich verwenden "node.js" auf dem web-server zur Ausführung ein javascript-Programm generiert ein javascript-code und minifying es auf der fliege und senden Sie es an den client.
Diesem javascript-Programm ist : die Verschlüsselung und Entschlüsselung Programm. Der javascript-code Ergebnis für den Kunden sollte enthält eine javascript-Funktion, die entschlüsseln, jedes Teil ein json-oder hexadezimal-version der verschlüsselten Daten. Die Funktion führt einige plus -, minus-und Multiplikationen von ganzen zahlen. Manchmal kann ich generieren, eine Bedingung (wenn,dann und sonst) zu berechnen, werden zwei verschiedene Vorgänge.
Diese Funktion wird verwendet, um zu entschlüsseln, die zwei oder mehr Parameter Eingänge.
Dass die randomisierte Funktion : jedes mal, wenn der client-Anfragen einige private Daten, die web server erzeugt zwei unterschiedliche javascript-Funktionen an : eines für Verschlüsselung und eines anderen für die Entschlüsselung. Die Entschlüsselung der Funktion wird an den client gesendet. Die Verschlüsselungs-Funktion verwendet wird, durch den web-server zu verschlüsseln und senden Sie private Daten an den client. Es ist Sinn für Verbergung : jedes mal, wenn der Prozess ausgeführt wird, jedes mal, wenn die senden-Funktion ist völlig anders.
Und überzeugen die Verschlüsselung/Entschlüsselung ist sehr gesichert, füge ich für den client, einem tabellarischen Werte Umwandlung von zwei oder mehr Parameter, aber die tabellarischen Werte erzeugt werden, in der Tat, durch eine Funktion geschrieben werden, für den web-server nur und enthält einige numerische Konstanten, die sich NIE an den client senden. Also, eine, deren entschlüsseln möchten, müssen Sie den Konstanten Wert ein.
Ich bin erklärte, dass Prozess, weil :
du einige Dinge über Verschleierung in der javascript-Quellcode; aber, Verschleierung in javascript ist noch nicht implementiert vom web-server und Browser...vielleicht, es könnte passieren...aber welche Lösung ist sinnvoll, mit Hilfe der "SSL-ize" all-übertragung über das internet.
Ist es möglich, die Krypta und entschlüsseln der Verschlüsselung/Entschlüsselung Funktionen, die gelesen werden können. Und, ohne die Kosten für SSL-Zertifikate. Auch, "ein Mann in der Mitte" würden die verschlüsselten Daten wieder entschlüsseln ; dafür hat er gerade das ausführen der javascript-Funktion. Ok..aber vorstellen, dass die javascript-Entschlüsselung-Funktion ist auch encypted...dann, der "Mann in der Mitte" führen Sie die Entschlüsselung Funktion und dann wieder entschlüsseln der entschlüsselten Inhalte, die javascript-Funktion zum entschlüsseln der verschlüsselten Daten.
Und, Stell dir vor, wenn der web-server fragt eine Frage zu dem client und die eindeutige Antwort ist, verarbeitet der client das Ergebnis der Berechnung (welche nicht per Internet) ... es ist unmöglich, "der Mann in der Mitte", um die Antwort.
Check out meine Idee; ich warte auf die Kommentare aus.
InformationsquelleAutor