Ich arbeite an einer MVC-Anwendung (gilt jedoch für jede Website) und habe mich gefragt, ob es in Ordnung ist, exponierte JQuery und Javascript in einer Ansicht zu belassen. Mit anderen Worten, wenn ich das Programm starte und mit der rechten Maustaste klicke und die Quelle ansehe, kann ich alle meine Abfragen und Javascript sehen. Ist das sicher und in Ordnung? Gibt es eine Möglichkeit, all das zu verbergen, damit Benutzer das nicht sehen können? Danke für alle Tipps.
8 Antworten
Es gibt keine Möglichkeit, Javascript vollständig vor dem Benutzer zu verbergen. JavaScript ist eine clientseitige Technologie. Es wird im Browser ausgeführt. Wenn der Browser das Skript ausführen kann, kann er es auch dem Benutzer anzeigen.
Sie können die JavaScript-Verschleierungssoftware verwenden, um das Lesen des Codes zu erschweren, aber Sie können ihn niemals vollständig ausblenden. Ein Online-Beispiel hierfür finden Sie unter http://www.javascriptobfuscator.com/default.aspx.
JQuery und andere Bibliotheken sind ebenfalls öffentlich verfügbar, sodass der Benutzer nicht darauf zugreifen kann. Es ist nichts Geheimnisvolles an ihnen.
Wenn der Code Geheimnisse enthält, die Sie schützen möchten, sollten Sie darüber nachdenken, den betroffenen Code nach Möglichkeit auf dem Server abzulegen, anstatt die Verarbeitung auf dem Client durchzuführen.
Es gibt keine Möglichkeit, es zu verbergen. Jedenfalls gibt es keinen Grund dafür. Wenn Sie Javascript-Code verschleiern möchten, finden Sie Software ( Obfuscators ), die das Verständnis Ihres Codes (für einen Menschen) erschwert, und sogenannte Minifiers das macht deinen Code kleiner. Dies ist ein Live-Beispiel für solche Tools:
http://closure-compiler.appspot.com/home
Das Ausblenden ist nicht möglich. Ihr gesamtes JavaScript wird clientseitig benötigt, um Ihre Website funktionsfähig zu machen. Sie können jedoch Ihr JavaScript verschleiern, mit anderen Worten hässlicher machen, sodass niemand Ihren Code wirklich verstehen kann, aber der Browser wird es tun.
Um Ihren Javascript-Code zu verschleiern, werfen Sie einen Blick auf:
UglifyJS JavaScript-Minimierung
Hey, Sie können eine Sache tun, indem Sie eine Aktion der Serverseite über Ajax aufrufen, indem Sie Javascript zurückgeben, das in Ihrer Ansichtsquelle nie angezeigt wird. Es kann jedoch durch einen Firebug sichtbar sein, aber es ist eine Möglichkeit, Ihr Javascript-Protokoll von anderen zu trennen, um es zu verwenden Auf einfache Weise habe ich es zu einem meiner Projekte gemacht. Selbst mit dieser Methode können Sie auch Ihr HTML ausblenden
Javascript wird auf dem Client ausgeführt, daher können Sie nichts tun, um es vor dem Client zu verbergen. Alles, was Sie wirklich tun können, ist, es einem Benutzer zu erschweren, Ihren Code durch Verschleierung durchzulesen.
Um es dem interessierten Spion schwerer zu machen, zu lesen, können Sie Ihre Skripte in .js-Dateien ablegen und sie verschleiern. Weitere Informationen finden Sie unter Wie kann ich JavaScript verschleiern (schützen)?.
Was Sie suchen, ist Verschleierung.
Es gibt sehr unterschiedliche Meinungen darüber, warum Sie es mit Javascript verwenden sollten oder nicht.
Siehe Wie kann ich JavaScript verschleiern (schützen)?
Nein, Sie können Ihr JS nicht ausblenden. Denken Sie daran, dass es sich bei dem JS um clientseitiges Scripting handelt und dass es auf dem Client ausführbar sein muss, was bedeutet, dass der Browser Zugriff darauf haben muss. Und wenn der Browser Zugriff darauf hat, kann der Benutzer es auch sehen :)