Javascript Quellcode nicht anzeigen?

Jan_Hendrik

Grünschnabel
Hallo, Liebe User von Tutorials.de, ich bin neu hier ;)

Und hätte mal eine frage, gibt es eine möglichkeit, javascript von aussen nicht anzuzeigen sprich das man die *.js datei zwar in html einbindet aber wenn man auf die url geht, nur leeren inhalt oder nur bestimmten Inhalt angezeigt bekommt?

und man die eigentliche datei nur sieht wenn man adminrechte hat quasi wenn man sie direkt auf dem ftp editiert, quasi so wie bei php.

vielen dank
jan-hendrik
 
Kurz und knapp: nein. Es gibt zwar die Möglichkeit, das Skript zu kodieren oder zu verschlüsseln, jedoch ist das auch nur Fassade.
 
Man könnte via .htaccess bei JavaScript-Dateien den Referer überprüfen und den Inhalt nur dann ausliefern, wenn der Aufruf von einer entsprechenden HTML-Datei ausging. Allerdings lässt sich dies auch umgehen (manuelles Setzen der Referers, Browsercache…)
 
Es ist auch nicht gewährleistet, dass das „Referer“-Header-Feld gesetzt wird. Denn es kann viel über das Browse-Verhalten des Benutzers verraten – und das mögen manche nicht.
 
thread ist zwar etwas älter, aber ich wollte euch eine lösung nicht vorenthalten.

php und sessions bieten eine möglichkeit:

index.php - bindet die externe javascript datei ein -
HTML:
<head><script type="text/javascript" src="script.js.php?sid=session_id"></script></head>
script.js.php - liefert das javascript aus...

zuerst startet die
- index.php die session
- script.js.php bekommt die session via link mitgeteilt und wird vom php-script geprüft
- wenn session_id gleich der aktuellen, dann ausgabe javascript, danach neue session_id generieren

am ende der seite binden wir erneut
HTML:
<script type="text/javascript" src="script.js.php?sid=session_id"></script>
ein
- index.php bindet nun die script.js.php erneut ein, der browser sendet nun eine erneute anfrage
- die index.php übermittelt immernoch die alte session_id
- script.js.php prüft wieder, diesmal stimmen die session_id's nicht überein und dem browser wird eine leere js gesendet.

resultat:
- beim ersten aufruf des javascript (durch php generiert) ist alles ok und der browser bekommt seine daten
- durch den zweiten aufruf wird (durch die geänderte und nun falsche session_id) keine javascript-datei generiert.
- der browser bekommt sein javascript, der benutzer beim klick auf den quellcode nichts zu sehen

session_id entsprechend verpacken und verschlüsselt an die script.js.php übergeben um die sicherheit zu erhöhen.

quelle & demo: nachtzoo.de/artikel/js_hide
 
Hi und Willkommen bei tutorials.de,

Gegen Firebug&Co hilft das aber auch nicht.
Eine sichere Lösung ist einfach unmöglich.
 
Hi und Willkommen bei tutorials.de,

Gegen Firebug&Co hilft das aber auch nicht.
Eine sichere Lösung ist einfach unmöglich.

Vielen Dank für die herzliche Begrüßung.
Eine 100%ige Lösung wollte ich gar nicht anbieten, sondern meines Wissens eine gute Alternative und funktionierende Möglichkeit.
Habe es soeben mit Firebug und der Web Developer Toolbar die Demo-Seite auseinander genommen.

http://nachtzoo.de/artikel/js_hide/demo.php

Ich sehe die Wirkung der JavaScript-Funktion, bekomme aber keinen JavaScript-Code präsentiert. So wurde es gewünscht!
Falls du an das JavaScript herankommst, poste doch mal das Werkzeug um es nachvollziehen zu können.
 
Also, ich habe:
Einen "frischen" Tab in Firefox gemacht
Firebug auf
Falls nicht schon standardmäßig drin: Scriptpanel und Netzwerkpanel aktivieren.

Dann, um zu beweisen, dass das einmalige Laden der Seite reicht
a) Internetverbindung weg
und (eigentlich unnötig)
b) noch im Netzwerkbereich überzeugt, dass die js.php mit Nocacheheadern kommt.

Zurück zum Scriptpanel und beim Dateinamen die js.php-Datei rausgesucht.
->Quelltext
 

Neue Beiträge

Zurück