Javascript Code im Quelltext ausblenden?

4 Antworten

Nein - Werder im HTML noch als include Datei kannst du verhindern dass jemand den JS Code sehen kann.

Denn der Code muss ja zum Browser herunter geladen werden um dort auszuführen

Anders sieht es z.b. beim PHP aus.

Der PHP Code wird auf dem Serveŕ VOR dem herunterladen der Seite ausgeführt.

Heruntergeladen wird nur das Ergebnis der PHP Ausführung und damit normales HTML.

Man sieht noch nichtmal welche Teile dynamische von PHP erzeugte Teile sind und welche feste.

Mir JS im HTML sollte man deshalb auch keine sicherheitsrelevanten Teile aufrufen

hey,

Du kannst deinen Code im Browser nicht verstecken, aber wenn du beispielweise ein Framework wie React verwendest, compiled React deinen Code, und er wird unleserlich.

Wenn du es so machen möchtest, React zeigt standardmäßig die compiled Dateien und den eigentlichen Quellcode an, um den eigentlichen Quellcode zu verstecken, musst du dein build wiefolgt erstellen: set "GENERATE_SOURCEMAP=false" && react-scripts build

Woher ich das weiß:eigene Erfahrung

WebcodeYT 
Fragesteller
 05.12.2020, 18:05

Danke. ..

0

Nein. Solange der JavaScript Code an den Browser ausgeliefert wird, kann man diesen auch auslesen.


WebcodeYT 
Fragesteller
 05.11.2020, 20:16

Also muss ich das irgendwie mit PHP machen, damit man das nicht sieht?

1
ChrisCat1, UserMod Light  05.11.2020, 20:21
@WebcodeYT

PHP wird auf dem Server verarbeitet und das Ergebnis dann an den Browser übermittelt.
Den PHP Code kann man daher nicht im Browser auslesen.

Übermittelst du den JavaScript Code aber per PHP an den Browser kannst du den JavaScript Code weiterhin im Browser auslesen.

Man kann den JavaScript Code aber so erstellen, dass er für Menschen schlechter zu lesen ist, z.B. indem man diesem komprimiert.

Hier mal als Beispiel:
Unkomprimiert: https://code.jquery.com/jquery-3.5.1.js
Komprimiert: https://code.jquery.com/jquery-3.5.1.min.js

1
NackterGerd  05.11.2020, 20:44
@ChrisCat1, UserMod Light

JS wird komprimiert um Speicherplatz zu sparen und damit schneller zu übertragen.

Als Schutz gegen lesen ist das nur eine sehr schlechte Lösung.

Die Komprimierung kann man ja umkehrenund wieder besser lesbar machen.

0
ChrisCat1, UserMod Light  05.11.2020, 20:59
@NackterGerd

Richtig, womit wird auch wieder bei meiner ersten Aussage sind: "Solange der JavaScript Code an den Browser ausgeliefert wird, kann man diesen auch auslesen."

Also solange der Browser in der Lage ist den Code zu lesen solange kann dies halt auch ein Mensch, mit mehr oder weniger Aufwand.
Irgendwelche Komprimierungen (was natürlich nicht als Leseschutz konzipiert ist) oder Verschlüsselungen sorgen hier nur für etwas mehr Aufwand.

1

fang nicht an zu denken das javascript geheim sein muss .

wirklich niemand brauch dein code , bzw passwörter etc kann man sowieso decodieren egal wieviele programme du da rüber läufen lässt damit man sie selbst nicht lesen kann .

also Javascript ist kein geheimnis , glaub nicht das du das goldene rad erfinden wirst und wenn das sicherheitsrelevanter code ist , dann erst recht nicht .

aber das dir jemals jemand was klaut ,, das wird nciht passieren . eher klaust du von anderen .


NackterGerd  05.11.2020, 20:40
passwörter etc kann man sowieso decodieren 

Passwörter gehören nicht in den JS Code.

Passwörter sollte man auch nur verschlüsselt auf dem Server ablegen. Und nur Dort die Eingabe prüfen

1
Lamanini  09.11.2020, 23:39
@NackterGerd

Bitte nicht verschlüsselt, sondern gehasht. Es gibt keinen Grund, warum man ein Passwort entschlüsseln können muss. Aber sonst stimme ich dir zu, Passwörter bitte nicht irgendwo hardcoden.

0
NackterGerd  10.11.2020, 08:37
@Lamanini

Natürlich HASH

Und nur verschlüsselt übertragen

Deshalb keine Eingaben bei Formularen wenn die Seite kein HTTPS benutzt

0