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.

2
TMan 7 Okt. 2012 im 01:33

8 Antworten

Beste Antwort

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.

2
aKzenT 6 Okt. 2012 im 21:42

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

1
obe6 7 Okt. 2012 im 07:08

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

1
Erwin 6 Okt. 2012 im 21:39

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

1
Gyan Chandra Srivastava 6 Okt. 2012 im 21:47

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.

1
UpTheCreek 6 Okt. 2012 im 21:36

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)?.

2
Community 23 Mai 2017 im 12:04

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)?

1
Community 23 Mai 2017 im 11:56

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 :)

1
Lasse Christiansen 6 Okt. 2012 im 21:37